【C++】C++学习笔记之十一:面向对象——类之间的三种关系

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”关系
构造由外而内,析构由外而内??????????????????

你可能感兴趣的:(【C++】C++学习笔记之十一:面向对象——类之间的三种关系)