読者です 読者をやめる 読者になる 読者になる

へっぽこびんぼう野郎のnewbie日記

けろけーろ(´・ω・`)!

ジェネリクスがタイプセーフって何の役に立つのという話について。

C#

Output

Gen`1[System.String]

Gen`1[System.Int32]

---------------

hoge

2

時間がないのでささっと書いて終わる。

 

ジェネリクスは、簡単に言うとタイプセーフなクラスをつくるためのものだ。

でもそれって実は副次的な効果で、単にジェネリクスはそういう効果がありますよという説明であって、実際はちょっとちがう。

 

1回定義したら、いろいろな型でそれを使い回すことができる。というのが基本的な概念だと思っている。

Tっていうのは、Typeのことで、

ジェネリクスっていうもんは、「型」を情報として持つことができる。

 

こっちの方が意味が上位互換な感ある。

 

ジェネリクスが実際どういう仕組みになってるかはシラネ。

 

ちなみに普通のクラスは型を情報に持ってなんやかんやすることはできない。 

 

知ってると思うけど、

privateにしないといけない理由はカプセル化(ちゃんと説明するおれはやさしい)