C++开发中级
952 浏览 5 years, 11 months
5.3 多重继承的用途
版权声明: 转载请注明出处 http://www.codingsoho.com/多重继承的用途
此时,您可能会疑惑为什么程序员要在代码中使用多重继承。多重继承最直接的用例就是定义一个既“是一个”事物又“是一个”另外事物的类对象。前面已经说过,遵循这个模式的实际对象很难恰当地转换为代码。
多重继承最简单最有力的用途就是实现混入类
(mix-in) 。混入类已经在前面介绍过。
注: mixin在python-django里广泛地使用
使用多重继承的另一个原因是模拟基于组件的类。前面给出了飞机模拟示例,Airplane类有引擎、机身、控制系统以及其他组件。尽管Airplane的典型实现是将这些组件当作独立的数据成员,但您也可以使用多重继承。飞机类可以从引擎、机身、控制系统继承,从而有效地获取了这些组件的行为以及属性。我们建议不要使用这种类型的代码,这将“有一个”关系与继承混淆了,而继承用于“是一个”关系。推荐的解决方案是让Airplane类包含Engine, Fuselage以及Controls类型的数据成员。