虚方法是必须要实现的,只有接口或者抽象方法才没有实现体,什么是实现体,就是方法的那对大括号:下面举例:
public abstract void Fn1();//定义一个抽象方法
public vitrual void Fn2(){ };//定义一个虚方法(那对大括号必须要有,有说明已经实现了该方法,你可以具体定义他要实现的功能,也可以什么都不写)
虚方法是必须实现的,子类可以选择是否重写
抽象方法一定没有实现,而且必须在抽象类中,子类中必须重写。
应用举例:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace ConsoleApp2
{class Program : OnlineStepPageBase{static void Main(string[] args) {//Console.WriteLine( Fibonacci(30).ToString());Program p = new Program();p.TestRecipeData();p.Fn1();Console.ReadKey();}public override void TestRecipeData(){base.TestRecipeData();Console.WriteLine("2");}public override void Fn1(){Console.WriteLine("3");}//private static long Fibonacci(int n)//{// long result = 1;//当n<=2时都返回1// if (n > 2) //当n>2时,进行递归计算// {// result = Fibonacci(n - 1) + Fibonacci(n - 2);// }// return result;//}}public abstract class OnlineStepPageBase{public virtual void TestRecipeData(){Console.WriteLine("1");}public abstract void Fn1();//定义一个抽象方法}
}
运行结果:
----------------------------------------------------------
如果觉得有用,麻烦点击 在看,让更多志同道合的伙伴加入我们的交流群,一起共同进步!