Item24:为什么要用多继承?
设计准则:避免继承自多个“非protocol”类(即完全由纯虚函数组成,无数据成员的抽象基类)
-
什么时候使用MI才算合适?
简而言之:只有在每一个继承单独取出来看都合适的时候,这样的MI才算合适。
-
在现实世界中,MI的应用大都逃不出以下三类:
结合使用程序模块或程序库。
若你想写一个类,它用到了两个程序库,每个程序库要求你从它的某个类继承,且你无法修改程序库。此时,MI就是必要的,没有其他选择。此时,使用MI完全合理 。类。MI最合适、最安全的应用是定义protocol类(完全由虚函数构成的类)。由于这种基类没有数据成员,MI最麻烦的复杂性就得以避免。
易于(多态)使用。若同一个派生对象可以代替数种基类对象使用,将会很有用处。
-
本条款说明:你可能不是经常需要用到多继承MI,但当你需要它的时候,你是“真”的需要。它远比你另起炉灶要好得多。