: diamond problemA2BCBCDDADBCDBC[1]

 Button   Rectangle MouseRectangle  Mouse  Object  Button  equals Button Rectangle  Mouse  equals ?

; diamondABCD21

: rhombus []

対処法

編集



C++  D2 AA 使A  B A C "virtual" "class B : virtual public A"C++ 1 AA  A A

Common Lisp 

Eiffel 使

Perl  Io B CA  B

2.1  Python -Python 2.2  Python 3 [2] object  2.2 [3]Python 2.3  Python 3  C3w:C3 linearization[4]

その他の例

編集

Objective-CPHPC#JavaObjective-C 1

RubyMixinRubyClassModule

ABCD "#include" ABC"#ifdef" ABCDBCA
  1. ^ 他にもたとえば実装の観点からは、vtblの設計が難しくなるという問題などもある。
  2. ^ http://www.python.org/doc/newstyle/
  3. ^ 詳細は https://python-history.blogspot.com/2010/06/method-resolution-order.html を参照のこと
  4. ^ http://www.python.org/download/releases/2.3/mro/

関連項目

編集