类与类之间的关系:继承,组合还是聚合?
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 函数等。
首先了解一下基本概念:
-----------------------------------继承------------------------------------------------------------------------------------------
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 函数等。
相关文章推荐
- java(未检出20130729) String、StringBuffer、类与类之间关系:依赖关系Use-a、.聚合关系has-a、组合继承(“is-a”)、抽象类、接口
- 类与类之间的几种关系(继承、实现、依赖、关联、聚合、组合)
- 继承、关联、聚合、组合之间的关系
- 类于类之间的关系--继承、实现、依赖、关联、聚合、组合的联系与区别
- UML中类之间的关系---依赖、关联、继承(泛化)、实现、组合、聚合
- 继承 实现 依赖 关联 聚合 组合之间的关系和联系
- 类之间关系理解:组合>聚合>关联>依赖;实现,继承
- 类与类之间的关系-依赖,关联,聚合,组合,继承泛化的区别
- 类之间的关系:继承、依赖、关联、聚合、组合
- UML中几种类间关系:继承、实现、依赖、关联、聚合、组合的联系与区别(转)
- UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)总结
- 认识UML中类之间的依赖、关联、聚合、组合、泛化的关系
- UML图中类之间的关系:依赖,泛化,关联,聚合,组合,实现
- UML图中类之间的关系:依赖,泛化,关联,聚合,组合,实现
- UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)
- UML中几种类间关系:继承、实现、依赖、关联、聚合、组合的联系与区别
- UML图中类之间的关系:依赖,泛化,关联,聚合,组合,实现
- UML图中类之间的关系:依赖,泛化,关联,聚合,组合,实现
- UML中几种类间关系:继承、实现、依赖、关联、聚合、组合的联系与区别
- UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)