オブジェクト指向の補足資料
オブジェクト指向の根本
TODO jflute now writing...
オブジェクト指向の継承
コピーして自身のテキストエディターで見たほうが見やすいです。
e.g. inheritance @Java
o
+-- /|\ ------------+------------------
| /\ | | Louder.大きな音を出す()
| | | (インターフェースディスパッチ)
| | v
| | +------- (interface) -------+
| どうぶつ.鳴く() | 【Louder, Loudable】 |
| | | 大きな音を出す() |
| | +---------------------------+
| | △ △
| | +--| |-------------------------------
| v | |
| +------------------------------------+ +------------------+
| | 【どうぶつ】 | | 【目覚まし時計】 |
| | public 鳴く() { | | |
| | 息を吸って...腹筋に力を... | | 大きな音を出す() { |
| | 鳴き声を決める() | | ジリジリ |
| | 息を出して声を出す | | } |
| | } | | |
| いぬ.鳴く() | protected abstract 鳴き声を決める() | | |
| いぬ.お手() | public 大きな音を出す() { 鳴く() } | | |
| +-------------------------------------+ +------------------+
| △
+----+ |
| +--------------------------+-----------------------------+
v | | |
+------------------+ +-------------------+ +------------------+
| 【い ぬ】 | | 【ね こ】 | | 【う ま】 |
| お手(えさ) | | 飛び降りる(えさ) | | 一着になる(えさ) |
| 鳴き声を決める() | | 鳴き声を決める() | | 鳴き声を決める() |
+------------------+ +-------------------+ +------------------+
△
|
+------------------+
| 【ラブラドール】 |
+------------------+