C 物件導向程式設計的三大特性之 繼承

2021-09-30 04:19:51 字數 995 閱讀 8050

作為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 有個重點 所有類的都有乙個共同父類,就是 ...