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