多态的三种实现方法:
1,虚方法,关键字virtual
2,抽象类,关键字abstract
3,接口
虚方法:
父类中如果有方法需要让子类重写则可以将该方法标记为Virtual,虚方法在父类中必须有实现,哪怕是空实现,虚方法子类可以重写Override,也可以不重写。
再说一下抽象方法:抽象方法需要用abstract关键字标记,抽象方法不能有任何方法实现,抽象成员必须包含在抽象类中,由于抽象成员没有任何实现,所以子类必须将抽象成员重写,抽象类不能实例化。
抽象类的作用:抽象类的作用就是为了让子类继承。抽象类中可以包括抽象成员,可以包括有具体代码的成员,抽象方法不能用static修饰。
再说一个接口:接口中只能包含方法(属性,事件,索引器也都是方法),接口中的成员都不能有任何实现,也就是光说不做。
接口不能被实例化,接口中的成员不能有任何访问修饰符默认为public,实现接口中的子类必须将接口中的所有成员全都实现,子类实现接口中的方法时,不需要任何关键字直接实现即可。
接口存在的意义就是为了多态。