首页
Python
Java
前端
数据库
Linux
Chatgpt专题
开发者工具箱
塑模专题
条款38:通过复合塑模出has-a或“根据某物实现出”
阅读更多...
条款:38:通过复合塑模出has-a或“根据某物实现出”
不要被这个诡异的条款名字欺骗了,他说的是一件简单的事情。 比如,定义一个“人”类,而人又有地址,那么你应该这么写: class Address{public:string country;string province;string city;};class Person{string name;Address address;}; 而不是用Person去public继
阅读更多...
条款32:确定你的public继承塑模出is-a关系
public继承意味着“is-a”关系。它的意思是:如果B以public形式继承自A,那么B类型对象肯定是一个A对象,反之不成立。A是B的一种抽象,B是A的特例。任何使用A的地方,都能使用B。 但是,有时候会犯认识上的错误:比如为类bird定义了函数“fly”,但是当我们从bird派生出企鹅Penguin时,却发现企鹅应该是不会飞的。这该怎么办呢? 第一,我们可以修改我们的设计:
阅读更多...
Effective_C++_条款三十八:通过复合塑模出has-a或者is-implemented-in-terms-of
如果说public是一种is-a的关系的话,那么复合就是has-a的关系。直观来说,复合就是在一个类中采用其他类的对象作为自身的成员变量,可以举个例子,像下面这样: class Person{private:string Name; // 复合string类型的变量PhoneNumber HomeNumber; // 复合PhoneNumber对象PhoneNumber TelephoneN
阅读更多...
Effective C++条款32:确定你的public继承塑模出is-a关系(Make sure public inheritance models “is-a.“)
Effective C++条款32:确定你的public继承塑模出is-a关系(Make sure public inheritance models "is-a.") 条款32:确定你的public继承塑模出is-a关系1、什么是public继承的”is-a”关系2、设计正确的继承模型2.1 更加精确的建模2.2 产生运行时的错误2.3 对比 3、is-a模型的一些例外6、牢记 总结
阅读更多...