面向对象编程 Object-Oriented Programming(PPT课件讲稿)继承 Inheritance

Chapter 12 Object-Oriented Programming Inheritance 0 2018 SEU. All rights reserved. 1
© 2009, SEU. All rights reserved. © 2018, SEU. All rights reserved. 1 Object-Oriented Programming: Inheritance Chapter 12

OBJECTIVES o To create classes by inheriting from existing classes o How inheritance promotes software reuse The notions of base classes and derived classes and the relationships between them o The protected member access specifier. o The use of constructors and destructors in inheritance hierarchies o The differences between public, protected and pri ivate inheritance The use of inheritance to customize existing g software 0 2018, SEU. All rights reserved. 2
© 2009, SEU. All rights reserved. © 2018, SEU. All rights reserved. 2 OBJECTIVES To create classes by inheriting from existing classes. How inheritance promotes software reuse. The notions of base classes and derived classes and the relationships between them. The protected member access specifier. The use of constructors and destructors in inheritance hierarchies. The differences between public, protected and private inheritance. The use of inheritance to customize existing software

Topics 12.1 Introduction 122 Base classes(基类) and derived classes 派生类) 12.3 protected Members o 12.4 Relationship between Base classes and Derived classes o 12.5 Constructors and destructors in Derived Classes 12.6 public, protected and private Inheritance o 12.7 Software Engineering with Inheritance 0 2018, SEU. All rights reserved. 3
© 2009, SEU. All rights reserved. © 2018, SEU. All rights reserved. 3 Topics 12.1 Introduction 12.2 Base Classes(基类) and Derived Classes (派生类) 12.3 protected Members 12.4 Relationship between Base Classes and Derived Classes 12.5 Constructors and Destructors in Derived Classes 12.6 public, protected and private Inheritance 12.7 Software Engineering with Inheritance

121 Introduction-继承的概念 °软件重用 °在已存在的类基础上构建新的类 吸纳已有类的数据及行为(数据成员及成员函数) °可以强化扩展一些新的功能 Graduate Student 重写? Student String Name String Name int Age int Age Void Exam 重用? Void Exam Void Research U 2UI0, SEU. All iGrs reserved
© 2009, SEU. All rights reserved. © 2018, SEU. All rights reserved. 4 12.1 Introduction --继承的概念 软件重用 在已存在的类基础上构建新的类 吸纳已有类的数据及行为(数据成员及成员函数) 可以强化扩展一些新的功能 Student String Name int Age ……. Void Exam() Graduate Student String Name int Age ……. Void Exam() Void Research() 重写? 重用?

12.1 Introduction-类之间的关系 Shape(基类 public ls-a(继承 Inheritance protected Has-a(组合) (继承关系) private crce(派生类 声明格式: class: …} class Circle: public Shape....]; 图形 闭合图形 开放图形 多边形 椭圆形(折线)(直线(弧线 O 2018, SEt. All rights reserved. 5
© 2009, SEU. All rights reserved. © 2018, SEU. All rights reserved. 5 12.1 Introduction --类之间的关系 派生类 Inheritance (继承关系) public protected private 基 类 图 形 闭合图形 开放图形 多边形 椭圆形 折线 直线 弧线 Is-a(继承) Has-a(组合) Shape Circle 声明格式:class : {……}; class Circle: public Shape{……};

is-a和has-a的区别? ois-a代表继承 个类继承自另一个类 °属于更加专有的一类对象 可以一个类继承一些行为,也可修改甚至创建新的行为 例如 vehicle类,有加速、减速等行为,car继承 vehicle, 同样有这些行为,也可以有新的行为(如打开后备箱等) ohas-a代表组合关系 个对象包含其它的成员对象 °例如 Employee类中包含 firstname、 lastname、 birthdate、 hiredate等对象 0 2018. SEU. All rights reserved. 6
© 2009, SEU. All rights reserved. © 2018, SEU. All rights reserved. 6 is-a和has-a的区别? is-a代表继承 一个类继承自另一个类 属于更加专有的一类对象 可以一个类继承一些行为,也可修改甚至创建新的行为 例如vehicle类,有加速、减速等行为,car继承vehicle, 同样有这些行为,也可以有新的行为(如打开后备箱等) has-a代表组合关系 一个对象包含其它的成员对象 例 如 Employee 类中包含 firstname 、 lastname 、 birthdate、hiredate等对象

Topics o 12.1 Introduction 122 Base classes(基类) and derived classes (派生类) 12.3 protected Members o 12.4 Relationship between Base classes and Derived classes o 12.5 Constructors and destructors in Derived Classes 12.6 public, protected and private Inheritance o 12.7 Software Engineering with Inheritance 0 2018, SEU. All rights reserved. 7
© 2009, SEU. All rights reserved. © 2018, SEU. All rights reserved. 7 Topics 12.1 Introduction 12.2 Base Classes(基类) and Derived Classes (派生类) 12.3 protected Members 12.4 Relationship between Base Classes and Derived Classes 12.5 Constructors and Destructors in Derived Classes 12.6 public, protected and private Inheritance 12.7 Software Engineering with Inheritance

12.2 Base Classes and derived Classes Base class(基类):被继承的类。 Derived class(派生类):继承后得到的类 Base class Derived classes student GraduateStudent, Undergraduatestudent shape Circle, Triangle, Rectangle, sphere, Cube Loan CarLoan, HomeImprovementLoan, MortgageLoan Employee Faculty Staff Account CheckingAccount, SavingsAccount Class graduateStudent: public Student(……} ●。● 0 2018, SEU. All rights reserved. 8
© 2009, SEU. All rights reserved. © 2018, SEU. All rights reserved. 8 12.2 Base Classes and Derived Classes Base class(基类):被继承的类。 Derived class(派生类):继承后得到的类。 Base class Derived classes Student GraduateStudent, UndergraduateStudent Shape Circle, Triangle, Rectangle, Sphere, Cube Loan CarLoan, HomeImprovementLoan, MortgageLoan Employee Faculty, Staff Account CheckingAccount, SavingsAccount Class GraduateStudent: public Student{……}; ……

12.2 Base Classes and derived asses °继承的层次关系(大学社区成员关系图示例) Com munityMem ber Employee Student Alumnus Single inheritance Single Faculty Staff inheritance Administrator Teacher inheritance Administrator Tea cher Multiple inheritance 继承机制作用:软件复用;对事物进行分类; 支持软件的增量开发;对概念进行组合。 0 2018, SEU. All rights reserved. 9
© 2009, SEU. All rights reserved. © 2018, SEU. All rights reserved. 9 12.2 Base Classes and Derived Classes 继承的层次关系(大学社区成员关系图示例) 继承机制作用: 软件复用;对事物进行分类; 支持软件的增量开发;对概念进行组合

12.2 Base Classes and derived asses 定义派生类时需指出继承方式,如未显式指出,默认为 private °单继承: class TwoDimensionalShape: public Shape Two Dim ensionalShape Three Dimensional Shape Circle Square Triangle Sphere Cube Tetrahedron 多继承: class administratorTeacher: public Teacher, public Administrator 0 2018, SEU. All rights reserved. 10
© 2009, SEU. All rights reserved. © 2018, SEU. All rights reserved. 10 12.2 Base Classes and Derived Classes 定义派生类时需指出继承方式,如未显式指出,默认为private 单继承:class TwoDimensionalShape : public Shape 多继承:class AdministratorTeacher: public Teacher, public Administrator
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《C语言程序设计》课程教学资源(PPT课件)第6章数据类型和表达式.ppt
- Scanning Electron Microscopy(SEM).ppt
- 《The C++ Programming Language》课程教学资源(PPT课件讲稿)Lecture 03 Standard Template Library & Generic Programming.ppt
- 计算机问题求解(PPT讲稿)图的计算机表示以及遍历.pptx
- 系统软件与软件安全(PPT讲稿)构造安全、高效的系统软件.pptx
- 中国科学技术大学:《计算机体系结构》课程教学资源(PPT课件讲稿)第3章 流水线技术.ppt
- 合肥学院:《数据库原理与应用》课程教学资源(PPT课件)第4章 数据库的创建与管理.ppt
- 四川大学:《数据库技术》课程教学资源(PPT课件讲稿)第9章 数据库系统开发工具VB.ppt
- 上海交通大学:IT项目管理(PPT讲稿)讲座6 软件项目工作量估算.ppt
- 《操作系统》课程PPT教学课件(英文)内存管理 Memory Management.ppt
- 湖南生物机电职业技术学院:《电子商务概论》课程教学资源(PPT课件)第八章 电子商务安全.ppt
- 电子科技大学:《计算机操作系统》课程教学资源(PPT课件讲稿)第四章 设备管理 Device Management and Disk Scheduling.ppt
- 南京大学:模型检测(PPT课件讲稿)Model Checking.pptx
- 《计算机网络》课程教学大纲 Computer Networks.pdf
- 中国科学技术大学:《Linux操作系统分析》课程教学资源(PPT课件讲稿)Linux的进程(1/3).ppt
- 合肥工业大学:《数据库系统概论》课程教学资源(PPT课件)第四章 并发控制.ppt
- Phase Change Memory Aware Data Management and Application.pptx
- 《高级程序语言》课程教学资源(PPT课件讲稿)第09章 平台无关语言.ppt
- 并行算法 Parallel Algorithms(PPT讲稿)现状与展望 status and prospects.ppt
- 上海交通大学:Network Coding for Wireless Networks(PPT讲稿).pptx
- 《单片机应用技术》课程PPT教学课件(C语言版)第7章 定时器/计数器.ppt
- 清华大学:《计算机导论》课程电子教案(PPT教学课件)第8章 计算机领域的典型问题.ppt
- 《网站设计与建设 Website design and developments》课程教学资源(PPT课件讲稿)第三部分 网站设计技术 第10章 HTML基础.ppt
- 山东大学:《面向对象程序设计》课程教学资源(PPT课件讲稿)第四章 编写对象接口.ppt
- 中国科学技术大学:《机器学习》课程PPT教学课件(讲稿)第二章 模型评估与选择.pptx
- 《C语言程序设计》课程电子教案(PPT课件)第三章 控制语句.ppt
- 安徽理工大学:《计算机网络》课程PPT教学课件(第4版)第1章 概述(编著:谢希仁).ppt
- 中国人民大学:《数据库系统概论 An Introduction to Database System》课程教学资源(PPT课件讲稿)第九章 关系查询处理和查询优化.ppt
- 《人工智能技术导论》课程教学资源(PPT课件讲稿)第8章 不确定性知识的表示与推理.ppt
- 福建工程学院:《C#程序设计》课程教学资源(实验指导书).doc
- 《计算机网络技术》课程教学资源(PPT课件讲稿)Chapter 03 物理层.ppt
- 沈阳理工大学:《网站建设与维护》课程教学资源(PPT课件讲稿)第四章 动态网页基础.ppt
- 东南大学:《操作系统概念 Operating System Concepts》课程教学资源(PPT课件讲稿)13 文件系统 I/O Systems.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第6章 函数.ppt
- 《高级语言程序设计》课程教学资源(试卷习题)试题一(无答案).doc
- 中国科学技术大学:《密码学导论》课程教学资源(PPT课件讲稿)第4章 数论基础(主讲:李卫海).pptx
- 香港科技大学:Cross-Selling with Collaborative Filtering(PPT讲稿).ppt
- 西安电子科技大学:《微机原理与接口技术》课程教学资源(PPT课件讲稿)第七章 常用接口芯片技术.pptx
- 西安交通大学:《程序设计语言》课程电子教案(PPT教学课件)第二章 Fortran程序设计基础.ppt
- 河南中医药大学(河南中医学院):《计算机网络》课程教学资源(PPT课件讲稿)第一章 计算机网络概述(2015版).ppt