第6章 继承性:派生类 6.1 派生类的概念 6.2 单继承 6.3 派生类的构造函数和析构函数 6.4 多重继承 6.5 函数名隐藏 6.6 赋值兼容规则 6.7 应用举例 在面向对象程序设计中引入继承的目的就是为了重用已有的程序源代码。继承是一个对象获得另一个对象的特性的过程。 通过继承,无需修改已有类的源代码,就可以从这个类派生一个新类来扩充已有类,满足不断变化的具体应用要求。达到代码重用和易维护、可扩充的目的。 6.1 派生类的概念 保持已有类的特性而构造新类的过程称为继承(inheritance)。 在已有类的基础上新增自己的特性而产生新类的过程称为派生(derive)。 被继承的已有类称为基类(或父类)。 派生出的新类称为派生类(或子类)。 现有的Student类 Class Student{int number;string name;float score; public:Student(int number1, string name1, float score1);void modify(float score1);void print( ); }; 在学生类的基础上创建大学生类:派生 class Ustudent : public Student {string major; //专业 public:Ustudent(int number1, string name1,string major, float score1);void print( ); }; // Ustudent除了具有Student的特性外,还有新的特性,如专业。 类的继承层次与分类结构 按照类继承的方式构建的C++的程序的结构是由一些类构成的树形结构或者有向无环图的形式。 类的继承层次与分类结构 C++程序中类的继承层次结构非常像人们分析问题时所用的分类结构。使用类继承方式构造软件系统,大大改善了软件系统的可理解性和可维护性。 6.2 单继承 派生类只有一个基类的时称为单继承。 单继承时类层次为树形结构 派生类声明的一般形式 class 派生类名:访问控制符 基类名 {成员定义; }; 访问控制符( access specifier )必须下列是三者之一: public(公有), private(私有), protected(保护)。 公有继承 (inherit as public)公有派生 (derived as public) 当访问控制符是public的时候,所有基类的公共成员都成为派生类的公共成员。所有基类的受保护成员也都成为派生类的受保护成员。 但基类的私有成员在派生类中不能被访问。 【例6.3】 class Shape { double width; double height; public: void showSize() {cout Width and height are width and height \n; } }; // 从Shape类派生出三角形Triangle类 class Triangle : public Shape { public: double area() {return width * height / 2; } }; 一个有争议的问题 基类中的私有成员不能被其派生类成员直接访问。继承来的特性不能直接使用似乎于理不通,但是派生类不加限制的访问基类的私有成员,将破坏基类的封装性,这是面向对象方法中有争议的问题之一。(两难问题) 解决方法: 使用受保护成员(protected members)。 使用基类的公有函数访问私有数据成员。 class Shape { double width; double height; public: void showSize() {cout Width and height are width and height \n; } double getWidth() { return width; } double getHeight() { return height; } void setWidth(double w) { width = w; } void setHeight(double h) { height = h; } }; // 从Shape类派生出三角形Triangle类 class Triangle : public Shape { public:double area() { return getWidth() * getHeight() / 2; } };
您可能关注的文档
最近下载
- XCT80L6_1汽车起重机技术规格书.pdf VIP
- 索尼SW7600GR中文说明书.pdf
- 2026年时事政治测试题库100道附参考答案(完整版).docx VIP
- 儿科抢救药品临床应用与管理.pptx VIP
- 河北广谋新材料科技有限公司年产600万平方米复合革及隔音布、400万平方米新型复合网项目环境影响报告表.docx VIP
- 部编版语文五年级下册第七单元教材解读大单元集体备课.pptx VIP
- 部编版语文五年级下册第六单元教材解读大单元集体备课.pptx VIP
- 部编版语文五年级下册第五单元教材解读大单元集体备课.pptx VIP
- 部编版语文五年级下册第四单元教材解读大单元集体备课.pptx VIP
- 部编版语文五年级下册第三单元教材解读大单元集体备课.pptx VIP
原创力文档

文档评论(0)