C#方法重写

简介: C#方法重写

什么是重写?

“重写”父类方法就是修改它的实现方式或者说在子类中对它进行重新编写。


为什么要重写父类的方法?

通常,子类继承父类的方法,在调用对象继承方法的时候,调用和执行的是父类的实现。但是,有时候需要对子类中的继承方法有不同的实现方式。例如,假设动物存在“跑”的方法,从中继承有狗类和马类两个子类。


怎么重写?

   1.重写父类的方法要用到override关键字(具有override关键字修饰的方法是对父类中同名方法的新实现)


   2.要重写父类的方法,前提是父类中该要被重写的方法必须声明为virtual或者是abstract类型。给父类中

    要被重写的方法添加virtual关键字表示可以在子类中重写它的实现。(注意:C#中的方法默认并不是

    virtual类型的,因此要添加virtual关键字才能够被重写)


   3.virtual关键字用于将方法定义为支持多态,有virtual关键字修饰的方法称为“虚拟方法”。


目录
相关文章
|
2月前
|
Java
方法重载和方法重写有什么区别?
本文解释了Java中方法重载(Method Overloading)和方法重写(Method Overriding)的区别,包括它们的定义位置、参数要求、返回值要求、业务功能以及绑定方式的不同,并提供了示例代码。
47 2
方法重载和方法重写有什么区别?
|
2月前
用方法重写实现多态
【10月更文挑战第19天】方法重写是实现多态的一种重要手段,它让我们能够根据具体的需求灵活地定义子类的行为,同时也使得代码更加简洁、易读和易于维护。
19 4
|
3月前
|
编译器
方法重载与抽象类3-13
方法重载与抽象类3-13
|
编译器
【多态-动态绑定-向上转型-抽象类】
【多态-动态绑定-向上转型-抽象类】
50 0
|
Java
1.6 方法重载
1.6 方法重载
47 0
|
安全 Java 编译器
C++的向上转型
在 C/C++ 中经常会发生数据类型的转换,例如将 int 类型的数据赋值给 float 类型的变量时,编译器会先把 int 类型的数据转换为 float 类型再赋值;反过来,float 类型的数据在经过类型转换后也可以赋值给 int 类型的变量。 数据类型转换的前提是,编译器知道如何对数据进行取舍。例如: int a = 10.9; printf("%d\n", a); 输出结果为 10,编译器会将小数部分直接丢掉(不是四舍五入)。再如: float b = 10; printf("%f\n", b); 输出结果为 10.000000,编译器会自动添
|
编译器
Super关键字详解
Super关键字详解
90 0
方法重载
当方法名称相同,参数的类型或个数不同的时候就称为方法重载
73 0
方法重载
java面向对象之多态(向上转型和向下转型)
java面向对象之多态(向上转型和向下转型)