超详细 您所在的位置:网站首页 什么是代位继承举个例子 超详细

超详细

2024-07-08 19:24| 来源: 网络整理| 查看: 265

目录

0 引言

1. 继承的概念

1.1 继承的本质

1.2 继承的作用 

2. 继承的定义

 2.1 继承的格式

2.2 继承的权限 

2.3  默认继承

 2.5 继承权限的使用

3. 继承的作用域

3.1 隐藏 

4. 基类与派生类对象的赋值转换 

4.1 切片

5. 派生类的默认成员函数 

 5.1 隐式调用

5.2 显示调用 

0 引言

从前面我们知道,继承是面向对象的三大特性之一(封装 继承 多态)。今天我们主要一起学习什么是继承。即如何在父类的基础之上去构建更加丰富的子类。在此举一个不完全恰当的例子,例如柑橘类水果的不同品种,实际上继承了其父类品种的某些特性。

1. 继承的概念

那什么是继承呢?是继承遗产还是某些东西呢?答案都不是。

实际上,官方说 继承(inheritance)机制是面向对象程序设计使代码可以复用的重要的手段,它允许程序员在保持原有基类(父类)特性的基础上进行扩展,增加功能,这样产生新的类,称为派生类(子类)。

因此:被继承的对象:父类/基类

           继承一方:子类/派生类  

1.1 继承的本质

继承的本质实际上就是为了复用代码。

例如:现在需要完成一个学校教务系统代码的编写,单从角色划分上来说,可以简单分为:教职工和学生 这两大类,但如果继续划分的话,还可以分出:校领导、各级院长、辅导员、后勤人员、大一/大二/大三/大四学生等,假设为每个角色都设计一个结构,那么这个工程量也未免太大了,且存在冗余。

所以,为了提高开发效率,我们就可以利用继承的概念。可以从各种角色中选出共同点,组成基类,比如每个人都有姓名、年龄、性别、联系方式等基本信息

而 教职工与学生的区别就在于 管理与被管理,因此可以在基类的基础上加一些特殊信息如教职工号表示教职工,加上学号表示学生,其他细分角色设计也是如此,产生多种子类。

因此,我们通过继承的方式,复用基类的代码,进而划分出各种子类。

1.2 继承的作用 

子类基础父类后,可以享有父类中的所有的 公开 / 保护 属性,也就是说,除了 私有 内容外,父类有的,子类全都有 。

举一个例子, 在父类 - 房子 的基础上,派生出 小平层和别墅 这两个子类。 

//父类 - 房子 class house { public: house(int area = int()) :_area(area) {} int getarea() { return _area; } private: int _area; }; //子类 - 平层 class Flatbed : public house { public: Flatbed() :house(90) { cout


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有