实现多态的方法
多态:让一个对象能够表现出多种的状态(类型)
实现多态的3中方法:
1.虚方法;2.抽象类;3.接口
1.虚方法:关键字:virtual,将父类的方法标记为虚方法;
2.抽象类:抽象类和抽象方法由abstract修饰;
abstract使用注意:
---a.抽象方法没有方法体(打括号里面的)
---b.抽象成员只能存在于抽象类中(方法和属性)
---c.抽象类可以有非抽象成员
---d.抽象类的派生类(子类)必须实现抽象方法体
---e.抽象类只能用作基类(父类),无法实例化
3.接口:关键字interface;接口中可以有属性,方法(未实现);
---a.接口的名称通常以“I”开头;如:IList
---b.如果一个类继承了类又实现了接口,那么类必须写在前面。
一个类只能继承一个父类,但可以实现多个接口。
---c.接口中只能有方法;
---d.接口中的成员不能有访问修饰符,默认public;
---e.接口中的成员不能有任何实现,就像抽象方法一样;
---f.接口不能被实例化;
接口和类有什么异同:
不同点:1.不能直接实例化接口;
2.接口不包含方法的实现;
3.接口可以多继承,类只能单继承;
相同点:1.接口,类和结构都可以从多个接口继承;
2.接口类似于抽象基类:继承接口的任何非抽象类型都必须实现接口的所有成员;
3.接口和类都可以包含事件,索引器,方法和属性。