类的继承与组合

来源:互联网 发布:calendar.js 中文api 编辑:程序博客网 时间:2024/06/05 04:55

无论是继承与组合本质上都是把子对象放在新类型中,两者都是使用构造函数的初始化列表去构造这些子对象。

组合中是希望新类的内部具有已存在的类的一些功能的时候使用,而不是希望将已存在类作为它的接口。组合通过嵌入一个对象以实现新类的功能,而新类用户看到的将是新定义的类的接口,而不是来自老类的一些接口。

比如,汽车与轮胎、引擎的关系是一种通过组合形成一种新类的功能  (关系has-a)。

如果希望新类与已存在的类有相同的接口(并且在这个基础上派生类还可以增加自己的数据成员)。这时候需要用继承,也称为子类型化。(关系is-a)

一般可以通过里氏代换原则来检验继承的质量。

0 0
原创粉丝点击