Java : 継承と実装
菱形継承のことを考えていた。
平行四辺形と正方形の関係を考えると、菱形継承を避ける(恣意的でない)合理的なアイデアが非常に難しいケースがあることは理解できる気がする。
interface 平行四辺形; interface 長方形 extends 平行四辺形; interface 菱形 extends 平行四辺形; interface 正方形 extends 長方形, 菱形
Javaでは、インターフェースだけを多重継承可能にしているのだが、これは、菱形継承の問題はインターフェースの継承では起こらないという判断だが、
それではと、こういうことができたらどうかと思った。
class 平行四辺形; class 長方形 extends 平行四辺形; class 菱形 extends 平行四辺形; class 正方形 extends 長方形 implements 菱形;
classに対しても、implementsを使えばインターフェースだけの継承になると。