类与类之间的关系:继承,组合还是聚合?

基本概念:

首先了解一下基本概念:

-----------------------------------继承------------------------------------------------------------------------------------------

calss animal

{};
class human : public animal  // 继承

{};

--------------------------------------聚合---------------------------------------------------------------------------------------
calss computer
{};
class human
{
/// ...
private:
    computer* pCom;    // 指针表示的聚合关系,简而言之就是你的类持有另一个类的引用。

};

------------------------------------组合-----------------------------------------------------------------------------------------

class head
{};
calss human
{
private:
    head h;  // 数据成员对象表示的组合关系,简而言之就是你的类持有另一个类的实例,掌控它的生命周期。
}

-----------------------------------------------------------------------------------------------------------------------------------

使用上的常见的错误:

        就是过度使用类的继承。也就是新手经常犯的错误,就是不停的通过继承来增加类的功能。

        不顾是“Has-A”还是“Is-A”。比如圆形方形可以继承形状,而人继承手则就不怎么好啦. 可我们图简便就出现了人继承手"错误"吧!

        同时在使用继承的时候要预见父类那些是可能发生变化的定义为protected,那些是稳定的定义为public,用public方法调用一些priviate 函数等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值