91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

孟州市| 双鸭山市| 乌拉特后旗| 雅江县| 房产| 榆林市| 玉门市| 凤冈县| 通许县| 漳浦县| 延川县| 井冈山市| 泗洪县| 拉孜县| 防城港市| 栖霞市| 白朗县| 高邮市| 青神县| 芮城县| 鄄城县| 黎平县| 吴堡县| 博客| 青龙| 罗城| 浑源县| 东台市| 锡林浩特市| 潜江市| 山东省| 辉南县| 广平县| 宣化县| 钦州市| 寿宁县| 徐水县| 鹤山市| 南皮县| 万载县| 车致|