|
||||||||||||
オブジェクト指向オブジェクト指向とは prev<< | >>next オブジェクト指向の概念 オブジェクト指向の基本要素
一般的にいわれているオブジェクト指向の重要な要素は「カプセル化」、「継承」、「多態性」の3つかと思います。
確かにオブジェクト指向について議論をする上でこの3つはとても重要な要素です。
ここではちょっと違った見方で私が(勝手に)思う、オブジェクト指向の大切な要素を整理したいと思います。■が大切な要素です。
まず、オブジェクト指向により登場する新しい要素は大きく「クラス」、「継承」の2つです。
継承ですが、「継承元クラス+α」という形で、機能を拡張することができます。このあたりの話はよく主張されるところではありますが、 「継承」からの現れる新しい要素として、「上位クラスへのインスタンス代入(代入互換)」,「メソッドのオーバーライド」があります。 この2つがミソです。これがわかれば多態性(ポリモーフィズム)の動作はなんということはありません。 最後に「カプセル化」ですが、決して新しい要素ではありません。今まででいう「スコープをできるだけ小さい範囲に・・」というものにオブジェクト指向風に名前をつけただけです。 ただ、クラスを作成する上でこの発想を実施すると、クラスという部品を作った際に、本当に現実世界の部品のような感覚で使えるものができます。 隠蔽が強力に行うことが可能です。必要最小限のものだけ外部に公開するという姿勢でクラス設計を行うようにします。ただの処理の集合ではないですから。 多態性の動作が理解できれば、ひとまずオブジェクト指向の動作内容の基本は理解できたと思ってもらっていいと思います。(ここから一気におもしろくなる?) そこからは、それらをシステムにどう生かすか?という本格的なクラス設計などに入っていきます。 |
|
|||||||||||