关于致命钻石问题多重继承

问题描述

我知道在stackoverflow上已经有很多人问过致命的钻石问题了,但是他们问的问题不是我想问的,所以当我遇到这种问题时,有人可以告诉我什么是解决方案。

下图(A)是一个典型的菱形问题,(B)是将音乐家和演员从类改为接口以实现多重继承的解决方案。但是我想问的是,如果我还需要音乐家和演员班如何?一般来说,并非所有人都是音乐家和演员,有些人只是音乐家,有些人只是演员,如果我将这两个类更改为接口,是否意味着如果我需要音乐家,我也使用 Performer 类来创建对象?如果是这样,我为什么要创建 Musician 和 Actor 接口?即使考虑未来的继承问题,如(C)所示,我不认为接口可以帮助任何代码可重用,唯一可以帮助的是限制它必须遵守音乐家接口所具有的人。我真的很困惑这两个问题,有人可以详细告诉我吗?非常感谢您的帮助。

diamond problem image shown

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...