- 日時: 2022/11/06 08:47
- 名前: REDCHEEKS
- ジェネリックと聞くと、ジェネリック医薬品を思い浮かべるよね。
ところで、プログラムの世界にも、ジェネリックというのがあるんだ。 医薬品とは意味が違うが、でもある意味似たようなものでもある。
例えば、ディクショナリー(辞書)について(プログラム解説)>>51 で
var 変態英和辞典 = new Dictionary<string, string>();
端的に言うと、このプログラムの中で、 <string, string> とあるのが、ジェネリックなのだ。
どういうメリットがあるのか? もちろんメリットがあるからこそ、素人にはメチャややこしく見えるこんな構文が、使われるわけだが、それについて解説しよう。
昔(ジェネリックがなかった時代)は、なんせ大変だったんだ。
英和辞典とかだと、英語も日本語もどちらも文字列だが、辞書と一口に言っても、このような文字列vs文字列、つまり<文字列,文字列>型の辞書ばかりとは限らない。
<数値,文字列>型の辞書もあるかもしれないし、<文字列,数値>型の辞書もあるかもしれない。
また数値と一口に言っても、整数や浮動小数点、倍精度、その他諸々、それらのすべての組み合わせに対し、それぞれ辞書を準備するのは大変である。
さらに辞書に限らず、並べ替え処理や、その他の処理にも、こういう問題が常に付きまとう。
これらの問題を解決するのが、ジェネリックなのだ。
ジェネリックは、従来のオブジェクト指向と組み合わさる事で、さらに強力な機能となる。
なんせ、<string, string> や <int, string> だけでなく、<string, 人> つまり「人オブジェクト」も辞書に組み込むことができるのだ。
人そのものまで辞書に組み込んでしまう、そこがオブジェクト指向のすごいところでもある。
というわけで次に「Iえっちインターフェース」を持った人の辞書について、エッチスケベな例を示そう。
|