您的位置:首页 > 编程语言 > C语言/C++

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

2014-01-09 16:55 239 查看
基本概念:

首先了解一下基本概念:

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

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 函数等。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c++ 面向对象
相关文章推荐