C++中关于类的两个概念——基于对象和面向对象
基于对象
描述单个类
面向对象
面向对象编程——OOP(Object Oriented Programming)
面向对象程序设计——OOD(Object Oriented Design)
类之间的三种关系:组合(Composition),委托(Delegation)和继承(Inheritance)
组合(Composition)
表示“has-a”关系
构造由内向外,析构由外向内????????????
委托(Delegation)
表示“has-a-pointer-to”,是包含指针的组合(“Composition by reference”)
其实是by pointer 但是学术上的说法叫做by reference。
组合与委托的区别:
组合:两个(或多个)类以实体(引用?)方式相连,声明周期相同
委托:两个(或多个)类以指针方式相连,生命周期不同
继承(Inheritance)
表示“is-a”关系
构造由外而内,析构由外而内??????????????????