1.继承:
继承语法 :
class 子类:父类
父类:基类
定义所有子类公有的属性,行为方法
子类:派生类
子类的个性差异体现在自己本身子类中
拥有父类所有的公开属性或行为功能方法.
SE类:
PM类:
主程序:
2.当调用子类构造器创建对象时,会先默认调用父类构造器
如果没有显示地调用父类构造器,会默认调用父类默认构造器,若父类无默认构造器,会编译不通过。
子类: 显示调用父类构造器的时候,要给实参
调用父类构造函数传递参数,参数的变量名必须与父类构造函数中的参数名一致
3.访问权限范围:
- c#中只有单继承概念,每个类只能有一个父亲。
- c#中可以多层继承(爷爷—父亲(继承父类的属性和方法)—儿子(继承自父亲和爷爷的属性,方法))
5.继承中有所属关系:
子类 is a 父类,子类可以加入父类类型的泛型集合List<Employee>。
即SE或PM对象都可以加入集合empls中
6.重写:
重写发生在继承关系的子类中,重写在方法的声明部分要“完全一样”,只有方法体不一样
父类中要重写的方法要被定义为虚方法virtual,虚方法也可以有方法的实现,定义为虚方法,是为了说明会有子类重写它,子类中重写的方法用override定义
父类:
子类:
父类只能调用自己的虚方法:
子类能调用自己的重写方法:
7.多态 :多种形态
一个方法作用于不同的对象,会产生不同的结果。
多态表现在:重载,重写