- 1254
- 0
- 约6.13千字
- 约 20页
- 2018-03-23 发布于河南
- 举报
C++程序设计教程(第二版).pdf
C++程序设计教程 第二版 第十三章抽象类 Chapter 13 Abstract Class 淘花/文库专用
11:51:53 1 第十三章内容 1. 抽象基类 Abstract Base-Class 2. 抽象类与具体类 Abstract Concrete Classes 3. 深度隔离的界面 Interface Which Deeply Parted 4. 抽象类作界面 Abstract Class As Interface 5. 演绎概念设计 Deducting Concept Design 6. 系统扩展 System Extension 7. 手柄 Handle 淘花/文库专用
11:51:53 2 1. 抽象基类 Abstract Base-Class 继承体系的多态问题: 继承体系反映的是事物的分层分类,它是倒树状,顶端 是基类.越顶端越抽象,越底端越具体. 基类往往是一种概念表达,或者像Account类那样,仅 仅提取了各个子类的共性,本身并不构成有意义的实 体.这种基类的成员都是为子类提供的.特别是虚函 数,不同的子类有不同的实现,于基类中的定义版本并 无意义. class Account // ... public : virtual void withdrawal double amount return; // 无意义 ; 淘花/文库专用
11:51:53 3 虚函数都是从基类传播的,靠基类指针来掀动 多态.因而,为多态性之故,非得在基类设置 虚函数不可: class A ; // 基类中无fn 成员 class B : public A public : virtual void fn ; ; class C : public A public : virtual void fn ; ; void f A* pa pa- fn ; // 编译错 void g f B ; f C ; 淘花/文库专用
11:51:53 4 编译器的语法规定,如果一个函数被调用了, 则该函数若只有声明而没有定义是万万不能的 class A public : virtual void fn ; // 无定义 ; class B : public A public : void fn ; class C : public A public : void fn ; void f A* pa pa- fn ; // 链接错 void g f B ; f C ; 淘花/文库专用
11:51:53 5 纯虚函数 前提:不同的子类表现不同的行为——多态,而基类并不 产生对象——只是摆设 目的:为了安全性,将基类抽象化,仅用来继承,不准许 产生对象. 手法:设置纯虚函数。即在基类虚函数声明后面加 上” 0”,不须提供定义体,表明为抽象类.任何抽 象类若有创建对象操作,则是非法的 class Account //抽象类 public : virtual void withdrawal double amount 0; ; Account a “3”, 30 ; // 错:创建对象之故 淘花/文库专用
11:51:53 6 2. 抽象类与具体类 Abstract Concrete Classes 如果要解决的问题涉及单一的类对象, 无须继承.如果涉及许多相关的类对象, class Display public : 则需建立一个具有多态的继承体系.也 virtual void init 0; 许该继承体系的基类只是用来继承,别 virtual void write 0; ; 无目的,但抽象基类却足以将问题中的 class Monochrome : public Display 概念描述清楚. virtual void init virtual void write cout “Monochrome\n”; 运行下列程序: void g Display* d ; d- init ; class ColorAdapter : public Display d- write ; public : virtual void write cout “ColorAdapter\n”; int main g Monochrome ; ; g SVGA ; class SVGA : public ColorAdapter public : 结果为: virtual void init Monochrome ; 淘花/文库专用 ColorAdapter
11:51:53 7 3. 深度隔离的界面 Interface Which Deeply Parted 类定义
您可能关注的文档
- A967-05-chemical passivation SS.pdf
- AAN036e_Paints_and_Coatings.pdf
- AA_P-DP_1624_1.0_Process_Data_Sheet_--_Feed_Gas_Cooler__unshifted_.pdf
- ABAQUS connector用法.pdf
- ABAQUS_connector用法.pdf
- ABB Control Builder V2_1.pdf
- ABB(S4C IRB) 机器人操作培训说明书 完整版 .doc
- abba直线导轨样本.pdf
- abb质量流量计FCM2000+chinese+operate+manual.pdf
- Abiotic stress-inducible receptor-like kinases negatively control ABA signaling in Arabidopsis.pdf
- 2026江西南昌市市场监督管理执法稽查局招聘仓库管理人员1人备考题库及一套参考答案详解.docx
- 2026江苏省常州市体育运动学校招聘排球教练1人备考题库及完整答案详解.docx
- 2026江苏苏州张家港农商银行寒假实习招募备考题库及完整答案详解一套.docx
- 2026浙江台州银行1月份招聘备考题库及完整答案详解一套.docx
- 2026江苏扬州市侨城社区(筹)公益性岗位招聘1人备考题库及完整答案详解.docx
- 2026广西桂林市象山区政府招聘编外聘用人员2人备考题库精编答案详解.docx
- 2026江苏南京江北新区退役军人服务中心招聘编外人员6人备考题库及参考答案详解1套.docx
- 2026广西玉林市博白县公安局第一次招聘警务辅助人员29人备考题库及一套完整答案详解.docx
- 2026广西玉林市福绵区樟木供销合作社招聘财务人员2人备考题库精编答案详解.docx
- 2026春季梦想靠岸招商银行西宁分行校园招聘备考题库及答案详解(新).docx
最近下载
- 地下车位租赁协议书通用版.docx VIP
- nsr621rf-d电容器保护测控装置技术使用说明书.pdf VIP
- 19G518-3_门式刚架轻型房屋_钢结构_有吊车_.docx VIP
- 2025公安大学警务硕士真题及答案.docx VIP
- 火电厂烟气脱硫工程调整试运及质量验收评定规程.PDF VIP
- 帝人芳纶应用介绍.doc VIP
- 《黄酒酿造工艺》课件.ppt VIP
- 深度解析(2026)《JBT 8521.2-2025编织吊索 安全性 第2部分:一般用途合成纤维圆形吊装带》:构筑新时代工业安全的核心支柱与前瞻指南.pptx VIP
- 2026房东直租房屋租赁合同.docx VIP
- V03英国深海控制器DSE5220模块操作說明書.pdf
原创力文档

文档评论(0)