オブジェクト指向の補足資料

オブジェクト指向の根本

TODO jflute now writing...

オブジェクト指向の継承

コピーして自身のテキストエディターで見たほうが見やすいです。

e.g. inheritance @Java

      o
 +-- /|\ ------------+------------------
 |    /\              |                 | Louder.大きな音を出す()
 |                    |                 | (インターフェースディスパッチ)
 |                    |                 v
 |                    |             +------- (interface) -------+
 |              どうぶつ.鳴く()       |    【Louder, Loudable】   | 
 |                    |             |       大きな音を出す()      |
 |                    |             +---------------------------+
 |                    |               △           △
 |                    |            +--|            |-------------------------------
 |                    v            |                                              |
 |                 +------------------------------------+               +------------------+    
 |                 |            【どうぶつ】              |                | 【目覚まし時計】   |
 |                 | public 鳴く() {                     |               |                  |
 |                 |     息を吸って...腹筋に力を...         |               | 大きな音を出す() { |
 |                 |     鳴き声を決める()                  |              |     ジリジリ       |
 |                 |     息を出して声を出す                 |              |  }               |
 |                 | }                                   |              |                  |
 | いぬ.鳴く()      | protected abstract 鳴き声を決める()   |              |                  |
 | いぬ.お手()      | public 大きな音を出す() { 鳴く() }     |              |                  |
 |                +-------------------------------------+               +------------------+
 |                          △                  
 +----+                     |
      |       +--------------------------+-----------------------------+
      v       |                          |                             |
     +------------------+       +-------------------+        +------------------+
     |     【い ぬ】     |       |     【ね こ】     |        |     【う ま】     |
     |   お手(えさ)       |       |  飛び降りる(えさ)  |        |  一着になる(えさ)   |
     |   鳴き声を決める()  |       |  鳴き声を決める()   |        | 鳴き声を決める()   |
     +------------------+       +-------------------+        +------------------+
              △
              |
     +------------------+
     |  【ラブラドール】   |
     +------------------+