多态
1.虚方法:加virtual 如:public virtual void Move() 多态
定义完虚方法后,可以在子类中重写虚方法,重写虚方法需要使用override关键字。成员字段和静态方法不能声明为virtual,因为virtual只对,类中的实例方法和属性有意义
2.抽象类与抽象方法 abstract
没有具体的事物相联系,封装的是一个行为类
1.不能被实例化
2.可以包含抽象成员,但非抽象类中不可以
3.抽象类不能被密封
抽象类不能被实例化,但是它的构造函数可以被子类继承的使用,会先调用父类的有参或者无参的构造函数
C#中规定,类中只要有一个抽象方法,这个类也必须被声明为抽象类
抽象方法注意以下两点,1.抽象方法必须在抽象类中,2.声明抽象方法时,不能使用virtual,static和private
3.接口:可以多继承,多重继承用,隔开,强制性的要求子类必须实现接口约定的规范。
接口的默认权限修饰符internal
接口中的成员默认是公共的,因此,不允许加访问修饰符
特性:
1.继承接口必须实现接口的所有成员
2.接口不能有构造函数,因此不能直接实例化接口
3.接口只能定义成员,不能实现成员
4.接口成员不能声明是静态的