重写与重载

来源:互联网 发布:python input split 编辑:程序博客网 时间:2024/06/08 11:24

重写,就是在子类中重复定义父类方法,提供不同实现,存在于有继承关系的父子关系中。当子类重写父类的虚函数后,父类对象就可以根据赋予他的不同子类指针动态调用子类的方法。重写的基本特征包括:

1.在.NET中只有以virtual和abstract标记的虚方法和抽象方法才能被直接重写

2.重写以关键字override关键字标记,强调继承关系中对基类方法的重写

3.重写方法要求具有相同的方法签名,包括:相同的方法名、相同的参数列表和相同的返回值类型。


虚方法是以virtual关键字修饰并在一个活多个派生类中实现的方法。子类重写的虚方法则以override关键字标记。虚方法调用,是在运行时确定根据其调用对象的类型来确定调用适当的重写方法。.NET默认是废墟方法,如果一个方法被virtual标记,则不可再被static、abstract和override修饰。


抽象方法是以abstract关键字修饰的方法。抽象方法可以看做是没有实现的虚方法,并且必须在派生类中重写。如果一个类包含抽象发那个发,则该类为抽象类。因此,抽象方法其实隐含为虚方法,知识在语法上有所不同。abstract和virtual一起使用是错误的。

原创粉丝点击