C# 虚方法与抽象方法区别
生活随笔
收集整理的這篇文章主要介紹了
C# 虚方法与抽象方法区别
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
虛方法是必須要實(shí)現(xiàn)的,只有接口或者抽象方法才沒有實(shí)現(xiàn)體,什么是實(shí)現(xiàn)體,就是方法的那對(duì)大括號(hào):下面舉例:
public abstract void Fn1();//定義一個(gè)抽象方法 public vitrual void Fn2(){ };//定義一個(gè)虛方法(那對(duì)大括號(hào)必須要有,有說明已經(jīng)實(shí)現(xiàn)了該方法,你可以具體定義他要實(shí)現(xiàn)的功能,也可以什么都不寫)虛方法是必須實(shí)現(xiàn)的,子類可以選擇是否重寫
抽象方法一定沒有實(shí)現(xiàn),而且必須在抽象類中,子類中必須重寫。
應(yīng)用舉例:
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;//當(dāng)n<=2時(shí)都返回1// if (n > 2) //當(dāng)n>2時(shí),進(jìn)行遞歸計(jì)算// {// result = Fibonacci(n - 1) + Fibonacci(n - 2);// }// return result;//}}public abstract class OnlineStepPageBase{public virtual void TestRecipeData(){Console.WriteLine("1");}public abstract void Fn1();//定義一個(gè)抽象方法} }運(yùn)行結(jié)果:
----------------------------------------------------------
如果覺得有用,麻煩點(diǎn)擊?在看,讓更多志同道合的伙伴加入我們的交流群,一起共同進(jìn)步!
總結(jié)
以上是生活随笔為你收集整理的C# 虚方法与抽象方法区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 为什么 Linux 上的 Asp.NET
- 下一篇: C# 10 完整特性介绍