根据我所读和所见,我认为多重继承不是本身的问题,而是因为它会使初学者在更优雅的设计模式可能更有用和更有意义的地方使用它。
一些语言选择不实现多重继承,而选择实现traits(例如PHP)。我看到多重继承和traits之间唯一有趣且实质性的区别是语言上的区别:虽然“继承”表示某种共享性质,“trait”则更多地代表特征。
除此之外,还有其他重要的区别吗?这能解释为什么有些人认为多重继承不适当,而现在traits则适当吗?
一些语言选择不实现多重继承,而选择实现traits(例如PHP)。我看到多重继承和traits之间唯一有趣且实质性的区别是语言上的区别:虽然“继承”表示某种共享性质,“trait”则更多地代表特征。
除此之外,还有其他重要的区别吗?这能解释为什么有些人认为多重继承不适当,而现在traits则适当吗?