質問するログイン新規登録

回答編集履歴

2

表現を修正

2017/03/26 06:50

投稿

akabee
akabee

スコア1947

answer CHANGED
@@ -1,13 +1,13 @@
1
1
  「ジェネリクス」は「汎用」というような訳が私にはしっくりきます。
2
2
 
3
- 機能としてはList<String>のように「型を指定して宣言できるオブジェ」というような説明になりますが、ここでポイントとなるのは**「List」はStringだけでなくIntegerでもCharactorでも使える=汎用である**ということです。
3
+ 機能としてはList<String>のように「型を指定して宣言できるクラス」というような説明になりますが、ここでポイントとなるのは**「List」はStringだけでなくIntegerでもCharactorでも使える=汎用である**ということです。
4
4
 
5
- 「汎用」という概念を理解するためには「汎用でない場合に何が問題なのか」ということを考えると分かりやすいのですが、たとえばStringを扱うListは「stringList」、Integerを扱うListはintegerList・・・というように使う型によって利用できる配列オブジェが決まっていたとします。
5
+ 「汎用」という概念を理解するためには「汎用でない場合に何が問題なのか」ということを考えると分かりやすいのですが、たとえばStringを扱うListは「stringList」、Integerを扱うListはintegerList・・・というように使う型によって利用できる配列クラスが決まっていたとします。
6
- ただその場合、自分でクラスを作った場合、そのクラスを格納するような配列オブジェは自分で作ったりする必要があります。
6
+ ただその場合、自分でクラスを作った場合、そのクラスを格納するようなクラスは自分で作ったりする必要があります。
7
- それはそれでプログラミングはできるのですが、できれば一配列オブジェで、「格納できる要素の型」を指定できたほうが便利だと思いませんか。
7
+ それはそれでプログラミングはできるのですが、できれば一のクラスで、「格納できる要素の型」を指定できたほうが便利だと思いませんか。
8
8
 
9
- というわけでStringでもIntegerでも自作クラスでも格納することができるような「汎用配列オブジェ」という考え方が必要とされます。
9
+ というわけでStringでもIntegerでも自作クラスでも格納することができるような「汎用クラス」という考え方が必要とされます。
10
10
  これがジェネリクスという考え方です。
11
- で、それを実現するために用意されたのが「ジェネリッククラス」List等の配列オブジェというわけです。ただし「ジェネリッククラス」という呼び方は通称ではないかと思います。
11
+ で、それを実現するために用意されたのが「ジェネリッククラス」List等のクラスというわけです。ただし「ジェネリッククラス」という呼び方は通称ではないかと思います。
12
12
 
13
13
  そう考えると、途端に「List<String>」というような宣言方法が便利だなと思えるのではないかと思います。最初に宣言しておけば、どんな型だって自由自在に格納できて、Listの持つlength等のプロパティやメソッドも使い放題なわけです。

1

表現を一部修正

2017/03/26 06:50

投稿

akabee
akabee

スコア1947

answer CHANGED
@@ -3,11 +3,11 @@
3
3
  機能としてはList<String>のように「型を指定して宣言できるオブジェクト」というような説明になりますが、ここでポイントとなるのは**「List」はStringだけでなくIntegerでもCharactorでも使える=汎用である**ということです。
4
4
 
5
5
  「汎用」という概念を理解するためには「汎用でない場合に何が問題なのか」ということを考えると分かりやすいのですが、たとえばStringを扱うListは「stringList」、Integerを扱うListはintegerList・・・というように使う型によって利用できる配列オブジェクトが決まっていたとします。
6
- ただその場合、自分でクラスを作った場合、そのクラスを格納するような配列オブジェクトは自分で作ったりする必要があります。
6
+ ただその場合、自分でクラスを作った場合、そのクラスを格納するような配列オブジェクトは自分で作ったりする必要があります。
7
7
  それはそれでプログラミングはできるのですが、できれば一つの配列オブジェクトで、「格納できる要素の型」を指定できたほうが便利だと思いませんか。
8
8
 
9
9
  というわけでStringでもIntegerでも自作クラスでも格納することができるような「汎用配列オブジェクト」という考え方が必要とされます。
10
10
  これがジェネリクスという考え方です。
11
- で、それを実現するために用意されたのが「ジェネリッククラス」List等の配列オブジェクトというわけです。
11
+ で、それを実現するために用意されたのが「ジェネリッククラス」List等の配列オブジェクトというわけです。ただし「ジェネリッククラス」という呼び方は通称ではないかと思います。
12
12
 
13
- そう考えると、とたんに「List<String>」というような宣言方法が便利だなと思えるのではないかと思います。最初に宣言しておけば、どんな型だって自由自在に格納できて、Listの持つlength等のプロパティも使い放題なわけです。
13
+ そう考えると、途端に「List<String>」というような宣言方法が便利だなと思えるのではないかと思います。最初に宣言しておけば、どんな型だって自由自在に格納できて、Listの持つlength等のプロパティやメソッドも使い放題なわけです。