「オブジェクト指向プログラミング」の版間の差分

削除された内容 追加された内容
Ef3 (トーク | 投稿記録)
タグ: 2017年版ソースエディター
Ef3 (トーク | 投稿記録)
タグ: 2017年版ソースエディター
106 行
::Mix-inは通常、複数のクラスに同じメソッドセットを追加するために使用されます。
::例えば、UnicodeConversionMixinクラスは、共通の親を持たないFileReaderクラスとWebPageScraperクラスにインクルードすることで、unicode_to_ascii()というメソッドを提供することができます。
:;抽象クラス
::抽象クラスは、インスタンス化してオブジェクトにすることはできません。
::抽象クラスは、インスタンス化できる他の「具象」クラスに継承するためにのみ存在します。
:Javaでは、クラスがサブクラス化されるのを防ぐためにfinalキーワードを使用することができます。
final class MyFinalClass {
 
. . .
}
継承よりも構成を重視する考え方は、継承の代わりに構成を用いてhas-a関係を実装することを提唱しています。
例えば、Employee クラスは、Person クラスを継承する代わりに、Employee オブジェクトに内部の Person オブジェクトを与えることができ、Person クラスが多くの公開属性やメソッドを持っていても、外部のコードから隠すことができます。