初识继承和多态
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初识继承和多态相关的知识,希望对你有一定的参考价值。
1.继承:一个类可以使用另一个类的属性和方法(成员)
1.1 子类继承父类使用的符号是冒号
1.2 子类不能继承父类的构造函数
2.我们new子类构造的时候,到底发生了什么?
2.1 调用子类构造的时候,没有使用base关键字调用父类的指定的构造,默认调用父类的无参构造
3.base关键字
3.1 base.父类属性
3.2 base.父类方法
3.3 总结:base.父类成员
3.4 base():父类的构造
3.5 结论:base(参数1,参数2)顺序是根据父类构造的参数顺序保持一致,但是变量名是和子类构造的参数变量名一致.
4.访问修饰符
当前类 子类 其他类
4.1 private √ × ×
4.2 protected √ √ ×
4.3 public √ √ √
5.继承的两大特性
5.1 单根性:一个类只能有一个直接父类
5.2 传递性:A是B的父亲,B是C的父亲,C和A是什么关系?(A是爷爷,C是孙子) C仍然可以继承A的东西
6.父类变量指向子类对象
Traffic car=new Car();
car.Run(); //父类的Run方法
((Car)car).Run2(); //子类特有的Run2方法
反馈给编译器的car就是父类变量,不能使用子类的方法
7.多态初步(子类override 父类virtual)
7.1 多态的概念:不同的对象对于同一个操作,做出的响应不同,就是多态.
7.2 多态的目的:多态的目的就是为了统一调用
8.继承当中子类构造的执行过程
8.1 从Main函数跳转到子类构造,但是不进入方法体,无论有没有base(),都会找父类构造
8.2 跳转到父类的构造,执行构造体
8.3 跳回子类构造体,执行方法体
8.4 跳回到Main()函数,对象创建完毕
以上是关于初识继承和多态的主要内容,如果未能解决你的问题,请参考以下文章