多态
继承:
什么是继承?
将几个类中重复的字段、属性、方法,单独封装成一个父类,让子类去继承(父类私有的内容不能继承)
比如Student、Teacher里面都有name,age,那我写一个它俩的父类Person把这些重复内容封装起来,让子类去继承,父类那有的,我子类实例化的时候直接可以拿来用。
子类有没有继承父类的构造函数?
子类虽然没有继承父类的构造函数,但是,子类会默认调用父类无参数的构造函数,创建父类对象,让子类可以使用父类的成员。
所以,如果在父类中重新写了一个有参数的构造函数之后,那个系统自带无参的构造函数就被干掉了,子类也就调不到了。
解决办法:
1)在父类中重新写一个无参数的构造函数。
2)在子类中显式的调用父类的构造函数,使用关键字:base( ) //调用自己的用this,调用父类的用base
public Student(string name,int age,char gender ) : base(name,age) { //子类Student需要name,age,gender参数 //而父类Person已经有了name、age,已经被我显式的继承过来了 //那我子类只需要写个自己的gender参数就行了 this.Gender = gender; }

浙公网安备 33010602011771号