虚方法
虚方法的定义
重写虚方法,返回值类型相同,实现结果(返回值)不同
定义在类中的函数需要在继承类中实现时,可以使用虚方法,虚方法是使用关键字virtual声明的,虚方法可以在不同的继承类中有不同的实现,即为基类中定义的允许在派生类中重写的方法;
虚方法的创建
访问修饰符 virtual 函数返回类型 函数名(参数表) {函数体};
案例
//虚方法
public virtual int Add(int a,int b)
{
return a + b;
}
虚方法的调用
基类中声明的虚方法一般在派生类中对其进行调用,会运用到base关键字
class VirtualMethodChild : VirtualMethod
{
//继承父类 override重写父类虚方法
public override int Add(int a, int b)
{
//base关键字 调用父类方法
//return base.Add(a, b);
return a * b;
}
}
Program 类
public class Program
{
public static void Main(string[] args)
{
VirtualMethod a = new VirtualMethod();
int num = a.Add(2, 3);
Console.WriteLine(num);
VirtualMethodChild b = new VirtualMethodChild();
int num2 = b.Add(2, 3);
Console.WriteLine(num2);
Console.ReadLine();
}
}
虚方法好处
- 当在基类中进行虚方法的定义以后,在派生类中可以对其方法进行调用,而且可以通过重写来改变其中实现的功能来实现自己的一些功能
- 不是虚方法时,必须重新声明方法然后再进行自己想要的功能进行编写然后再进行调用
虚方法作用
- 允许子类/派生类 进行重写
- 增加代码的可维护性,脉络较清淅有条理