本文主要是介绍学习记录——day41 继承,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
学习记录——day39 C++ Class this指针-CSDN博客
面向对象三大特征:封装、继承、多态
基于一个已有的类,来创建出一个新类的过程叫做继承,原类称为父类,新类称为自类/派生类。主要用于提高代码的复用性
继承格式
class 子类名 :继承方式 class 父类名1, class 父类2。。。
{
子类扩展的成员;
};
继承内容
子类会继承父类的所有成员,根据继承方式的不同,子类通国继承得到的成员权限也不同
继承方式
继承方式一共有三种:public、protected、private,表示子类能够继承到的最高权限(以public为最高,private为最低)
访问权限也可以省略,默认的继承方式为 private
常用的继承方式是 public
1、类中的成员属性和成员函数分为不同的权限
public:该权限下的成员,可以在类内、子类中、类外被访问
protected:该权限下的成员,可以在类内、子类中直接被访问,类外不允许被访问
private:该权限下的成员,只能在类内被访问,子类、类外不允许被访问
2、public 继承
父类权限 public protected private 不可访问(来自父类的父类)
子类权限 public protected 不可访问 不可访问
3、protected 继承
父类权限 public protected private 不可访问(来自父类的父类)
子类权限 protected protected 不可访问 不可访问
4、private 继承
父类权限 public protected private 不可访问(来自父类的父类)
子类权限 private private 不可访问 不可访问
继承过程中的成员
1、子类会继承父类中的所有成员,但不能子类中不能直接使用父类的私有成员
2、子类对父类的对私有成员的操作,需要通过父类中提供public或者protected类型的接口函数完成
3、子类在实例化类对象时,会先存储父类的成员变量,再存储子类中扩展的成员变量
4、子类实例化对象时,系统会自动调用父类的构造函数,去初始化子类从父类继承的成员变量
5、在子类有参构造中调用父类的有参构造,可以初始化从父类继承成员变量
学习记录——day40 类中特殊的成员函数_形参名和成员变量名相同时,使用初始化列表-CSDN博客
6、子类实例化对象,虽然调用的父类的构造函数,但是并没有实例化父类对象,最终对象的个数只有一个
类与类之间的关系模型
1、继承关系:is a 模型,是特殊的包含关系(has a模型)
2、包含关系:has a模型,在一个类中,有另一个类的成员子对象
3、友元关系:use a模型,在一个类中,使用另一类中的内容
这篇关于学习记录——day41 继承的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!