继承的意义?
使程序的设计更符合发展规律,即事物的发展是一个从低级到高级的发展过程,类的继承也是反映由原始的简单代码到丰富的高级代码的过程。它能帮助我们描述事物的层次关系,有效而精确的理解事物,理解事物直到本质。
什么叫继承?
(1)继承使类与类之间建立起一种上下级的层次关系
(2)子类可以重复使用父类的操作和数据成员,子类可以声明新的属性和操作,还可以剔除不适合自己用途的父类操作。
为什么要使用继承?
原因:为了提高代码复用率,缩短程序开发成本
继承实现的功能:
1、继承基类的数据成员:将基类成员全盘吸收
2、增加新的数据成员、改变现有成员的属性:不同方式继承 + 声明一个同名成员,使用重写覆盖技术
3、重新定义已有成员函数
继承的分类:
针对派生类而言,根据基类的个数分:单继承 + 多继承
单继承:派生类的基类只有一个
语法格式:
class 派生类名:继承方式 基类名
{
//成员声明:类似于普通类
};
三种继承方式:公有继承(public),私有继承(private),保护继承(protected)
继承后访问属性的种类:针对派生类而言,成员可分为:不可访问成员、私有成员、受保护成员、公有成员
说明:无论是那种派生方式,派生类无法直接使用不可访问变量的,换句话说,派生类不能访问基类的私有成员。
具体如图:
继承后的法则:
派生类的成员函数访问基类成员时,
无论是公有、私有、受保护继承,基类的私有变量均不可访问,但继承后属性为公有、受保护成员均可以直接访问。
派生类的对象类外访问基类成员时,
若受保护、私有继承时,派生类对象均不可访问基类的成员(无论是哪种访问属性)。
若公有继承,派生类的对象可以访问基类的公有成员。
一句话:就派生类而言,基类私有变量不可访问&