亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C#類的多態性詳解

2020-01-24 01:25:46
字體:
來源:轉載
供稿:網友

第一種:編譯時的多態性,直接這樣說不知道說啥?程序執行過程主要分為三步:編譯,鏈接,運行。在編譯時體現的多態性是通過方法的重載來實現的。方法的重載我們聽過,就是一個類對象調用若干同名,但參數類型、個數不同。類對象是根據參數類型,個數來決定調用哪個同名方法,實現何種操作。C#語言的方法重載與C++、java基本是一樣的,但是C#還包含C++的運算符重載,java里面沒有這個概念。
第二種:運行時的多態性,是在系統運行時,調用一個名字相同,參數類型也相同以及個數也完全一樣的方法,但會完成不同的操作。C#運行時的多態性通過虛方法實現。在類方法聲明加上了virtual修飾符,稱為虛方法,反之為非虛方法。就這一點C#跟C++有很多相似之處。
代碼清單:虛方法與非虛方法的區別

namespace e_11 {  class A  {   public void F()   //非虛方法   { Console.WriteLine("A.F"); }   public virtual void G() //虛方法   { Console.WriteLine("A.G"); }   }  class B : A     //A類為B類的基類  {   new public void F()  //隱藏基類的同名非虛方法F(),注意使用new   { Console.WriteLine("B.F"); }    public override void G() //隱藏基類的同名虛方法G(),注意使用override   { Console.WriteLine("B.G"); }  }  class Test  {   static void F2(A aA)  //注意,參數為A類引用變量   { aA.G(); }   static void Main(string[] args)   {    B b = new B();    A a1 = new A();    A a2 = b;   //允許基類引用變量引用派生類對象,a2引用A類的派生類B的對象b    a1.F();    //調用基類A的非虛方法F(),顯示A.F    a2.F();    //F()為非虛方法,調用基類A的F(),顯示A.F    b.F();    //F()為非虛方法,調用派生類的F(),顯示B.F    a1.G();    //G()為虛方法,因a1引用基類A對象,調用基類A的G(),顯示A.G    a2.G();    //G()為虛方法,因a2引用派生類B對象,調用派生類B的G(),顯示B.G    F2(a2);    //由于a2引用A類派生類B的對象b,調用派生類B的的G(),顯示B.G    F2(a1);    //實參為基類A對象,調用A類的函數G(),顯示A.G   }  } }  

輸出結果:

看上面的代碼,我產生了一個疑問?為什么因為G()為虛方法,a2引用派生類B對象,調用的是B類的G()?
這里有一個解釋:如果將基類引用變量引用不同對象,或者是基類對象,或者是派生類對象,用這個基類引用變量分別調用同名虛方法,根據對象的不同,會完成不同的操作。而非虛方法不具備次此功能。
關于類的多態性典型的例子:

//類的多態性 namespace e_11 {  public class Person  {   private String name = "張三";   //類的成員說明   private int age = 12;   protected virtual void Display()  //類的虛方法   { Console.WriteLine("姓名:{0},年齡:{1}", name, age); }   public Person(string Name, int Age)  //構造函數,函數名和類名同名,無返回值   { name = Name; age = Age; }   static public void DisplayData(Person aPerson) //靜態方法   { aPerson.Display(); }    //不是靜態方法調用實例方法,如寫為Display()錯誤  }   public class Employe : Person   //基類是Person  {   private string department;   private decimal salary;   public Employe(string Name, int Age, string D, decimal S)    : base(Name, Age)   { department = D; salary = S; }   protected override void Display()  //重載虛方法,注意用Override   {    base.Display();    Console.WriteLine("部門:{0}, 薪金:{1}", department, salary);   }  }   class Class1  {   static void Main(string[] args)   {    Person OnePerson = new Person("李四", 30);    Person.DisplayData(OnePerson);  //顯示基類的數據    Employe OneEmployee = new Employe("王五", 40, "財務", 2000);    Person.DisplayData(OneEmployee); //顯示派生類數據   }//兩次調用完全相同的方法,實參不同,實現的功能不同  }  } 

運行效果:

 

以上就是本文的全部內容,希望能夠幫到大家。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91在线观看免费高清完整版在线观看| 欧美国产亚洲精品久久久8v| 在线播放国产一区中文字幕剧情欧美| 日韩精品在线观看视频| 日韩精品在线视频美女| 欧美激情视频一区| 久久久日本电影| 亚洲国产成人av在线| 亚洲片国产一区一级在线观看| 国产亚洲精品美女| 欧美高跟鞋交xxxxxhd| 国产精品高潮呻吟久久av黑人| 91牛牛免费视频| 国产精品∨欧美精品v日韩精品| 日韩av毛片网| 国产一区二区三区毛片| 日韩在线观看精品| 欧美成人在线免费| 另类天堂视频在线观看| 欧美wwwwww| 色偷偷噜噜噜亚洲男人| 国产视频欧美视频| 欧美大尺度激情区在线播放| 欧美亚洲国产日韩2020| 日韩av免费在线播放| 亚洲国产欧美在线成人app| 奇米一区二区三区四区久久| 亚洲va国产va天堂va久久| 久久亚洲精品毛片| 在线观看日韩av| 日本亚洲欧美三级| 成人性生交大片免费看视频直播| 国产精品入口夜色视频大尺度| 亚洲欧洲日产国码av系列天堂| 中文字幕在线成人| 亚洲精品国产电影| 亚洲精品久久久一区二区三区| 国产精品尤物福利片在线观看| 伊人久久男人天堂| 中文字幕久热精品在线视频| 日韩亚洲精品视频| 欧美精品xxx| 韩国19禁主播vip福利视频| 亚洲天堂av电影| 国产精品久久久久福利| 欧美在线国产精品| 色综合天天狠天天透天天伊人| 色爱av美腿丝袜综合粉嫩av| 中文字幕亚洲一区二区三区五十路| 亚洲字幕在线观看| 日本精品视频网站| 久久天天躁狠狠躁老女人| 91久久精品久久国产性色也91| 国语自产精品视频在线看抢先版图片| 中文字幕视频在线免费欧美日韩综合在线看| 色噜噜狠狠色综合网图区| 日韩在线免费av| 91色在线视频| 亚洲第一精品福利| 一区二区中文字幕| 亚洲欧美国产日韩中文字幕| 欧美巨猛xxxx猛交黑人97人| 欧美日韩国产一区在线| 久久人人爽国产| 日韩在线激情视频| 欧美激情亚洲国产| 久久91超碰青草是什么| 欧美日韩一区二区精品| 最近日韩中文字幕中文| 久久精品男人天堂| 97香蕉久久超级碰碰高清版| 亚洲人成人99网站| 欧美精品在线免费观看| 91精品视频在线播放| 久久久久久噜噜噜久久久精品| 日韩中文字幕久久| 国产精品丝袜久久久久久不卡| 91亚洲精品一区二区| 91在线观看免费| 91亚洲永久免费精品| xxxx欧美18另类的高清| 中文字幕亚洲一区| 欧美在线视频一区| 91在线中文字幕| 日韩性xxxx爱| 久久天天躁狠狠躁夜夜躁2014| 96精品久久久久中文字幕| 中文字幕一区二区三区电影| 一区二区国产精品视频| 久色乳综合思思在线视频| 97婷婷大伊香蕉精品视频| 韩国精品美女www爽爽爽视频| 91社影院在线观看| 亚洲精品电影网站| 国产精品爽爽ⅴa在线观看| 国产精品99久久久久久白浆小说| 爽爽爽爽爽爽爽成人免费观看| 欧美大片欧美激情性色a∨久久| 国产精品成人免费电影| 日韩欧美999| 国产不卡精品视男人的天堂| 精品丝袜一区二区三区| 久久频这里精品99香蕉| 国产精品久久91| 亚洲丝袜av一区| 日韩精品视频免费专区在线播放| 亚洲成人激情小说| www.日本久久久久com.| 91国产精品视频在线| 91久久久久久久久久久久久| 欧美自拍视频在线| 欧美成年人网站| 欧美精品久久久久a| 亚洲福利视频二区| 国产精品视频区| 久久精品一区中文字幕| 国产欧美日韩中文字幕在线| 久久久免费在线观看| 欧美大片va欧美在线播放| 国产精品一区久久久| 成人免费福利视频| 亚洲国产精品热久久| 中日韩美女免费视频网址在线观看| 久久最新资源网| 在线观看不卡av| 日韩亚洲精品电影| 久久免费视频网站| 亚洲电影在线观看| 久久99久久99精品免观看粉嫩| 91免费版网站入口| 亚洲国产精品字幕| 精品激情国产视频| 亚洲国产黄色片| 国产亚洲欧美一区| 在线免费看av不卡| 亚洲a∨日韩av高清在线观看| 国产一区二区三区精品久久久| 欧美一级在线亚洲天堂| 亚洲性夜色噜噜噜7777| 欧美黑人一级爽快片淫片高清| 亚洲欧美激情另类校园| 日韩视频永久免费观看| 成人精品网站在线观看| 亚洲男人天堂久| 欧美孕妇性xx| 国产91在线播放九色快色| 国产精品视频在线播放| 成人激情在线观看| 日本精品免费一区二区三区| 国产热re99久久6国产精品| 国产精品视频网站| 中文字幕v亚洲ⅴv天堂| 日韩亚洲欧美成人| 性色av一区二区三区红粉影视| 欧美精品免费在线观看| 日韩综合中文字幕| 国产精品久久久久久久久久尿| 欧美成人精品激情在线观看| 国产精品久久91| 国产性色av一区二区| 国产欧美日韩中文字幕| 精品国产欧美一区二区五十路| 国产91网红主播在线观看| 久久国产精品视频|