继承是C#中面向对象的特性之一。
继承,简单一句话就是建立类之间的关系,实现代码的重用性,方便系统扩展。继承的两大特性是单根性和传递性。度
继承的单根性:是指子类只能继承一个父类,不能同时继承多个父类。就好比儿子只能有一个父亲(亲生),派生类只能从一个类中继承,继承不支持多重继承。避免代码回结构的复杂性。
继承的传递性:派生类是从基类那里继承特性,派生类也可以作为其他类的基类。从一个基类派生出多层类,这样就形成类层次结构。就是a继承b。a可以调用b的方法和属性,但是答b又继承了c~所有a也可以调用c的方法和属性。
提高代码重用性,可维护性
有继承时方法的调用:默认调用声明类型的方法(父类),virtual后父类的方法被隐藏
C#的继承使用:
Dog:Animal
abstract 抽象关键字
在抽象类中有的方法要有返回类型的声明,但无法提供返回的值,所以没有方体
有抽象方法的类必须为抽象类,抽象类中可以有非抽象方法。抽象类的派生类必须重写其所有抽象方法。
抽象方法的作用就是让子类必须有这个属性
如果抽象方法的子类中仍无法提供抽象方法的返回值,则可以继续抽象
virtual 虚拟关键字
用于父类中的方法,可被重写,也可不被重写,用virtual修饰的方法必须有方法题,即不能与abstract共存
override 重写关键字
多态