Effective C++:条款32:确定你的public继承塑模出is-a关系
2014-06-26 12:07
441 查看
(一)
public继承意味着“is-a”关系。它的意思是:如果B以public形式继承自A,那么B类型对象肯定是一个A对象,反之不成立。A是B的一种抽象,B是A的特例。任何使用A的地方,都能使用B。
(二)
public继承意味着“is a”(是一种)关系:
(1)任何一个继承类对象也是一个基类对象;
(2)任何可以出现基类对象的地方也可以出现一个继承类对象(例如函数的实参);
(3)任何一个可以在基类对象上所做的操作,同样也可以在派生类上操作(结果可能是设计者想要的,也可能是不想要的):“可以”是指编译器不报错,但是如果它违反了设计者的意愿,应当采用“让编译器报错”的方式来显示错误,这比“运行时报错”要好。
请记住:
"public继承"意味is-a。适用于base class身上的每一件事情一定也适用与derived class身上,因为每一个derived class对象也都是一个base class对象。
public继承意味着“is-a”关系。它的意思是:如果B以public形式继承自A,那么B类型对象肯定是一个A对象,反之不成立。A是B的一种抽象,B是A的特例。任何使用A的地方,都能使用B。
(二)
public继承意味着“is a”(是一种)关系:
(1)任何一个继承类对象也是一个基类对象;
(2)任何可以出现基类对象的地方也可以出现一个继承类对象(例如函数的实参);
(3)任何一个可以在基类对象上所做的操作,同样也可以在派生类上操作(结果可能是设计者想要的,也可能是不想要的):“可以”是指编译器不报错,但是如果它违反了设计者的意愿,应当采用“让编译器报错”的方式来显示错误,这比“运行时报错”要好。
请记住:
"public继承"意味is-a。适用于base class身上的每一件事情一定也适用与derived class身上,因为每一个derived class对象也都是一个base class对象。
相关文章推荐
- 《Effective C++》之条款32:确定你的public继承塑模出is-a关系
- Effective C++ 条款32 确定你的public继承塑模出is-a关系
- 《Effective C++》学习笔记条款32 确定你的public继承塑模出is-a关系
- 条款32:确定你的public继承塑模出is-a的关系
- 条款32:确定你的public继承塑模出is-a关系
- 条款32、确定你的public继承塑模出is-a关系
- 条款32:确定你的public继承塑模出is-a关系
- Effective C++ -----条款32:确定你的public继承塑模出is-a关系
- 条款32:确定你的public继承塑模出is-a关系
- C++之确定你的public继承塑模出is-a关系(32)---《Effective C++》
- 条款32:确定你的public继承塑模出is-a 关系(Make sure public inheritacne models "is-a")
- 条款32:确定人的public继承塑模出来is-a关系
- 条款32 确定你的public继承塑模出is-a关系
- 《Effective C++》读书笔记之item32:确定你的public继承塑模出is-a关系
- 条款32:确定你的public继承塑模出is-a关系
- 条款32:确定你的public继承塑模出is-a关系
- effective C++ 条款 32:确定你的public继承塑模出is-a
- 条款32:确定你的public继承塑模出is-a关系
- 【32】确定你的public继承塑模出Is-A关系
- 读书笔记_Effective_C++_条款三十二:确定你的public继承继承塑模出is-a关系