回答編集履歴

1

仮型パラメータを型引数に変更

2022/05/10 06:52

投稿

ta.fu
ta.fu

スコア1676

test CHANGED
@@ -1,10 +1,10 @@
1
- ```class クラス名<T>```、```Function<T>```(こちらは関数の型定義)に書かれている```T```が、Genericsでいうパラメータになります。
1
+ ```class クラス名<T>```、```Function<T>```(こちらは関数の型定義)に書かれている```T```が、Genericsでいう型引数になります。
2
- クラスや関数定義中にある同一型相当の名称がそのパラメータが使われます。
2
+ クラスや関数定義中にある同一型相当の名称がその型引数が使われます。
3
3
  そこに定義されていないものは、他の実際の型が割り当てられるようです。
4
4
 
5
- ```class SingleUser<T> extends User<T>```は```SingleUser<T>```に書かれている```T```がパラメータで、```User<T>```は```SingleUser<T>```を使用する場合に```<>```内に書かれた型を当てはめ使用すます。
5
+ ```class SingleUser<T> extends User<T>```は```SingleUser<T>```に書かれている```T```が型引数で、```User<T>```は```SingleUser<T>```を使用する場合に```<>```内に書かれた型を当てはめ使用すます。
6
6
 
7
- 次に```class RandomWordsState extends State<RandomWords>```は```RandomWordsState```はGenericsなクラス定義ではなくパラメータは存在しません。そのため、``` State<RandomWords>```は事前に定義されている```RandomWords```をあてはめ使うことになります。
7
+ 次に```class RandomWordsState extends State<RandomWords>```は```RandomWordsState```はGenericsなクラス定義ではなく型引数は存在しません。そのため、``` State<RandomWords>```は事前に定義されている```RandomWords```をあてはめ使うことになります。
8
8
 
9
- 最後に上では書かれていませんが、```class Hoge<T> extends Base<ClassA>```という定義の場合、```Hoge<T>```はGenericsで```T```というパラメータを持っています。しかし```Base<ClassA>```の方は```Hoge```で指定した```T```というパラメータを使用していません。そのため```Base```のGenericsクラスに```ClassA```という型をあてはめたものを使用するといった形になります。
9
+ 最後に上では書かれていませんが、```class Hoge<T> extends Base<ClassA>```という定義の場合、```Hoge<T>```はGenericsで```T```という型引数を持っています。しかし```Base<ClassA>```の方は```Hoge```で指定した```T```という型引数を使用していません。そのため```Base```のGenericsクラスに```ClassA```という型をあてはめたものを使用するといった形になります。
10
10