分享
 
 
 

翻译:Effective C++, 3rd Edition, Chapter 6. Inheritance(继承)和 Object-Oriented Design(面向对象设计)

王朝c/c++·作者佚名  2006-01-10
窄屏简体版  字體: |||超大  

Chapter 6. Inheritance(继承)和 Object-Oriented Design(面向对象设计)

Object-oriented programming (OOP) 已经流行了差不多 20 年,所以,你很可能对 inheritance(继承),derivation(派生)和 virtual functions(虚拟函数)等概念有一些经验。即使你一直只用 C 来编程,你也不会全然躲过 OOP 的喧嚣。

尽管如此,C++ 的 OOP 和你习惯的东西可能有一点不同。inheritance 可以有 single 或 multiple 之分,而每一个 inheritance 关系可以是 public,protected 或 private。每一个关系也可以是 virtual 或 non-virtual。然后,还有 member function 的选项。Virtual?Non-virtual?Pure virtual?以及与其它语言特性的交互作用。default parameter values(缺省参数值)和 virtual function 如何互相影响?inheritance 如何影响 C++ 的 name lookup rules(名字查找规则)?以及有哪些关于设计的选择?如果一个 class 的行为需要变化,virtual function 是最好的方法吗?

本章将依次给出全部解答。此外,我将解释 C++ 中不同特性的真正意味——也就是说当你使用一个特定的结构,你实际表达了什么。例如,public inheritance 意味着 "is-a",而如果你试图让它意味着其它什么东西,你就会碰到麻烦。同样,一个 virtual function 意味着“interface must be inherited(接口必须被继承)”,而一个 non-virtual function 则意味着“both interface and implementation must be inherited(接口和实现都必须被继承)”。无视这些含义之间的区别就会造成 C++ 编程中相当多的烦恼。

如果你理解了 C++ 各种特性的含义,你就会发现你对 OOP 的观点发生了变化。它不再是区分不同的语言特性的练习,而是成为决定关于你的软件系统你需要描述什么的内容。而且一旦你知道要描述什么,把它转换成 C++ 就不那么费力了。

本章包含以下内容:

Item 32: Make sure public inheritance models "is-a"Item 33: Avoid hiding inherited namesItem 34: Differentiate between inheritance of interface and inheritance of implementationItem 35: Consider alternatives to virtual functionsItem 36: Never redefine an inherited non-virtual functionItem 37: Never redefine a function's inherited default parameter valueItem 38: Model "has-a" or "is-implemented-in-terms-of" through compositionItem 39: Use private inheritance judiciouslyItem 40: Use multiple inheritance judiciously

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有