前回はCompositeパターン、ジェネリックスについて理解できたという日記を書きました。
日記は自分の進捗度を記録しておくもので、見る人が理解できればいいと考えていましたが、
前回、もっと突っ込んだエントリを入れるようにと先生方のご指摘を頂いたので
自分が理解している範囲で文章化して説明したいと思います。
_
・インターフェースに抽象メソッドを書くと、その抽象メソッドの実装をしたクラスは、実装内容に関係なく、
同じインターフェースの型で定義することができる。このオブジェクト指向特有の構造をCompositeパターンと言います。
このCompositeパターンを用いることで、関数は異なるクラスを引数にすることができ、
異なる実装がなされた抽象メソッドを使って処理することができるようになる。
_
・ジェネリックスとは、クラスで使用する型を曖昧にしておける言語機能である。
このジェネリックスは、汎用性のあるクラスを作成するためにクラスで使う型をユーザに自由に決めさせることができる。
そのクラスのユーザは<>内にクラスで使用したい型を入力するだけで、自由な変数でクラスを使用することができる。
クラスの実装側では、クラス名の横に<T>や<E>などと記述しておき、その文字を型として変数や引数、メソッドを
定義して実装していけばよい。
_
やっぱり文章で書くと説明が難しいですね。
何か足りない点や間違っている点等ありましたらご指摘お願いします。
1件のコメント
koreyasu · 2007-06-15 02:18
Compositeパターンに関しては、、全く違います。
一度Webで調べて見てはどうかな。
Genericsに関しては、「自由な変数でクラスを使用することができる。」とありますが、
これによる利点ってなんでしょう?
現在コメントは受け付けていません。