作為c#物件導向程式設計的三大特性之一的繼承,在c#程式設計中有著舉足輕重的位置,它是學習物件導向程式設計的核心概念。
任何類都可以從另乙個類繼承,也就是說,這個類擁有它繼承的類的所有成員。
一,類成員的訪問控制:
在oop中,被繼承的類稱為父類(也就是基類),c#中的物件只能派生於乙個基類。在繼承乙個基類時,派生類不能訪問基類的私有成員,但可以訪問其公共成員,而且派生類和外部**都可以訪問公共成員,這就是說,如果只使用public, private兩個可訪問性修飾符,不僅可以讓乙個成員被基類和派生類訪問,而且能夠被外部的任何**訪問。為了實現更好的類成員控制性,c#又提供了其他三種可訪問性修飾符,闡述如下:
public -----成員可以由任何**訪問。
private-----成員只能由類內部的**訪問(如果沒有任何關鍵字修飾,就預設使用這個關鍵字)。
internal-----成員只能由定義它的工程(程式集)內部的**訪問。
protected-----成員只能由類和它的派生類訪問。
其中,internal 與 protected 可以合併使用,所以也有protected internal成員。它們只能由程式集中派生類的**訪問。
此外,字段,方法,屬性都可以使用static關鍵字來宣告,這表示它們是屬於類的靜態成員,不是物件例項的成員,只能由類名來訪問。
(1)介面
介面是把隱式的公共方法和屬性組合起來,以封裝特定功能的乙個集合。
一旦定義了介面,就可以在類中實現它。這樣,類就可以支援介面所指定的所有屬性和成員。
介面的特點:
介面不能單獨存在,不能像例項化乙個類那樣例項化介面,必須通過其派生類來實現之;
介面不能包含實現其成員的任何**,而只能定義成員本身;
在繼承了介面的派生類中實現介面的成員,必須實現該介面的所有成員,而不能只實現部分;
乙個類可以支援多個介面(介面支援多繼承),多個類也可以支援相同的介面;
介面及其成員必須是public的(同樣的,虛擬成員virtual也必須是公共的);
物件導向三大特性之繼承
1 author kelvin2 date 2019 1 16 18 5734 class father 5 money 100067 def init self,name 8print 父類的init方法.9 self.name name 1011 defteach self 12print s ...
物件導向三大特性之繼承
子類繼承 1 子類和父類如果在同乙個包內,則子類可以繼承父類的除private以外的所有成員變數和方法,並且許可權不變 2 子類和父類如果不在同乙個包內,則子類可以繼承父類的public和protected許可權的成員變數和方法,不能繼承友好型和private 繼承的優點 1.提高 的重用性,子類繼...
Python 物件導向程式設計的三大特性之繼承
目錄 1 繼承的實際栗子 2 繼承的好處 3 繼承的使用場景 具體可以看下面的 不使用繼承 使用繼承的區別 4 繼承有幾種?單繼承多繼承 5 python 中繼承的簡單語法 class parent pass class child parent pass 有個重點 所有類的都有乙個共同父類,就是 ...