中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#中的類:接口、抽象類、抽象方法、虛擬方法

發布時間:2020-06-24 13:15:46 來源:網絡 閱讀:642 作者:mista 欄目:編程語言

1:接口的定義

interface 接口名

{

    接口成員;

}

接口名必須以大寫的英文字母I開頭。

接口中不能定義字段,也就是說接口中只能包含屬性、方法和事件的定義。

定義接口成員時不可使用訪問修飾符,所有的接口成員都被隱式的定義為公有的。

接口成員只能有聲明,不能有實現。

不用用關鍵字static、virtual、abstract或sealed來定義接口成員。

Type definition members are forbidden.(不懂)


2:抽象類和抽象方法

抽象類是用關鍵字abstract修飾的類。

抽象類不能被實例化。

抽象方法是用關鍵字abstract修飾的方法。

抽象方法只能被定義在抽象類中。

抽象方法不能有方法體。

如果子類繼承了一個抽象類,那么這個子類必須要實現抽象類的所有抽象方法;否則,這個子類也必須是抽象類。

子類在實現抽象方法時,必要要使用關鍵字override。


3:虛方法

虛方法是用關鍵字virtual修飾的方法。

虛方法可以定義在普通類和抽象類中。

虛方法要有方法體。

父類的虛方法可以被子類直接繼承。

子類可以使用override關鍵字重寫父類的虛方法,也可以使用new關鍵字隱藏父類的虛方法。


4:override和new

override:重寫父類的方法(抽象方法、虛擬方法)

new:覆蓋(隱藏)父類的方法(普通方法、虛擬方法)


對于父類的普通方法(非虛擬方法和抽象方法),如果在子類中又定義了相同聲明的方法,那么就是子類覆蓋了(或隱藏了)父類的同名方法。

雖然在子類中可以直接用相同的方法聲明來書寫新的方法,但C#建議應該在方法聲明的開頭加上new關鍵字。

對于覆蓋的方法在調用時的區別:

    子類的引用指向子類的對象,調用的是子類的方法;

    父類的引用指向子類的對象,調用的是父類的方法。


如果想要在使用父類的引用指向子類的對象時,調用子類的方法(這也是使用多態的一般目的),那么需要:將父類的方法聲明為虛擬方法或抽象方法;在子類中使用override關鍵字進行方法重寫。


5:顯式的調用父類的方法

base.方法名(參數列表)


6:顯式的調用自己的方法

this.方法名(參數列表)


7:實現接口中的方法(還要整理一下)

繼承了接口的類必須要實現接口中所有方法,除了可以將接口中的方法實現為普通方法外,也可以將接口中的方法實現為虛擬方法或抽象方法。

如果在實現接口的類中實現接口中的方法時,在方法名之前加上了接口名限定符(即:接口名.方法名),這種方式稱為“顯式的實現接口成員”,被顯式實現的接口成員只能被接口類型的變量調用。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

乌兰县| 含山县| 郴州市| 穆棱市| 来宾市| 河源市| 波密县| 巴马| 宁晋县| 永定县| 乐安县| 政和县| 乌海市| 景谷| 资兴市| 淳安县| 华宁县| 龙岩市| 吉隆县| 正安县| 休宁县| 高台县| 灌云县| 什邡市| 淮北市| 余庆县| 牟定县| 南平市| 崇州市| 历史| 平潭县| 全州县| 平南县| 华亭县| 通渭县| 宜川县| 克拉玛依市| 耿马| 东丰县| 南汇区| 鸡西市|