C#中延续了面向对象的三大特点:继承、封装、多态性。多态性是指类为名称相同的方法提供不同的实现方式的能力(依靠参数的不同)。里用多态性,就可以调用类中的某个方法而无需考虑该方法是如何实现的。
实现多态的方式:
1.通过抽象类实现多态性。抽象类(abstract)本身不能被实例化,只能在扩充类中通过继承使用。抽象类的部分或全部成员不一定都要实现,但是在继承类中要全部实现。抽象类中已实现的成员仍可以重写。
2.通过继承实现多态性。多个类从单个基类继承。
3.通过接口实现多态性。多个类可实现相同的接口,而单个类可实现一个或多个接口(子类只能继承一个基类,但可继承多个接口)。接口的本质上是类需要如何响应定义。
接口仅声明类需要实现的方法、属性和事件,以及每个成员需要接受和返回类型的参数,而这些成员的实现留给类去完成。
接口中不包含任何程序代码的实现方法,也就不能含有{}。,定义在接口中的任何方法都是public的,不能再显示声明,否则错误。