C#进阶5_多态

来源:互联网 发布:不干胶排版软件 编辑:程序博客网 时间:2024/06/06 02:14
1、多态:让一个对象能够表现出多种的状态(类型)。

2实现多态的手段
步骤:1)、将父类的方法标记为虚方法,使用关键字virtual,这个函数可以被子类重新写一遍。
2)、抽象类:当父类中的方法不知道如何去实现的时候,可以考虑将父类写成抽象类,
将方法写成抽象方法

3、抽象类
1)、抽象成员必须标记为abstract,并且不能有任何实现
2)、抽象成员必须在抽象类中。
3)、抽象类不能被实例化。
4)、子类继承抽象类后,必须把父类中的所有抽象成员都重写。(如果子类也是一个抽象类,则可以不重写)。
5)、抽象成员的访问修饰符不能是private
6)、在抽象类中可以包含实例成员,并且抽象类的实例成员可以不被子类实现。
7)、抽象类是有构造函数的。虽然不能被实例化。
8)、如果父类的抽象方法中有参数,那么,继承这个抽象父类的子类在重写父类的方法的时候必须传入对应的参数,如果抽象父类的抽象方法中有返回值,那么子类在重写这个抽象方法的时候,也必须要传入返回值。
9)、如果父类中的方法有默认的实现,并且父类需要被实例化,这时可以考虑将父类定义成一个普通类,用虚方法来实现多态。如果父类方法没有默认实现,父类也不需要被实例化,则可以将该类定义为抽象类。