国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

基于多態之虛方法、抽象類、接口詳解

2019-10-29 21:07:39
字體:
來源:轉載
供稿:網友

虛方法:

1、在父類方法的返回值前加 virtual 關鍵字,標記為虛方法,表示這個方法可以被子類重寫。

2、虛方法必須有方法體,方法體中可以沒有任何內容。

3、子類可以根據需求選擇性的是否重寫虛方法。如果需要重寫,在子類方法的返回值前加 override 關鍵字。

4、子類在重寫虛方法時,可以根據需求選擇性的是否使用 base 關鍵字調用父類中的該方法。

虛方法語法格式如下:

public class Father{ public virtual void Do() {  //..... }}public class Son : Father{ public override void Do() {  base.Do();//選擇性的是否調用。  //....代碼體 }}

 抽象類:

1、在定義類的關鍵字 class 前面加 abstract 修飾,表示這個類為抽象類。子類繼承抽象類后,使用 override 關鍵字重寫父類中的所有抽象方法。

2、抽象類中不一定有抽象方法,但是抽象方法必須存在于抽象類中。抽象方法也需要用 abstract 關鍵字進行修飾。

3、抽象方法沒有方法體,且抽象方法必須在子類中實現。

4、抽象類不能被實例化,但是可以有構造函數。因為抽象類中有抽象方法(無方法體),如果實例化抽象類,那么抽象類的對象調用這些無方法體的抽象方法是沒有任何意義的,所以無法實例化。

抽象類以及抽象方法語法格式如下:

public abstract class Father//抽象類{ public abstract void Do();//抽象方法}public class Son : Father{ public override void Do() {  //... }}

 接口:當抽象類中的所有方法都是抽象方法時,可以用接口的形式來表現。

1、接口使用 interface 關鍵字定義,沒有 class 關鍵字,接口名一般使用“IXxxx”。

2、接口中不能包含字段,但是可以包含屬性(自動屬性)。

3、接口中定義的方法不能有方法體,全是抽象方法,但又不需要用 abstract 關鍵字修飾,因此接口不能被實例化,且不能有構造函數。

4、接口中的成員不允許添加訪問修飾符,默認都是 public。

5、一個類可以實現多個接口,被實現的接口之間用逗號分隔開;一個接口也可以繼承多個接口,接口之間也要用逗號分隔;當一個接口實現一個接口時,如果這兩個接口中有相同的方法時,可以用 new 關鍵字隱藏父接口中的方法。

6、繼承者必須實現接口中的所有方法。

接口語法格式如下:

interface IFather{ void Do();}interface IMother:IFather{ new void Do();//隱藏父接口的同名方法 void Do1();}public class Son : IFather,IMother{ public void Do() {  //......  } public void Do1() {  //..... }}

以上這篇基于多態之虛方法、抽象類、接口詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到c#教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 西林县| 绥滨县| 全州县| 资源县| 镇巴县| 南乐县| 景东| 上虞市| 安新县| 阳朔县| 承德县| 长阳| 额敏县| 抚州市| 原阳县| 郴州市| 南木林县| 昌吉市| 凭祥市| 湖州市| 孟村| 宝丰县| 镇巴县| 兴和县| 西安市| 通海县| 临泽县| 辉南县| 和政县| 双峰县| 台北市| 襄汾县| 长汀县| 武宁县| 营山县| 田林县| 旬邑县| 盐山县| 朝阳市| 洪江市| 城口县|