C 中的繼承

2021-09-24 13:14:39 字數 1649 閱讀 1583

繼承

概述多個類中存在相同屬性和行為時,將這些內容抽取到單獨乙個類中,那麼多個類無需再定義這些屬性和行為,只要 繼承那乙個類即可。

其中,多個類可以稱為子類,單獨那乙個類稱為父類、超類(superclass)或者基類。

繼承描述的是事物之間的所屬關係,這種關係是: is-a 的關係。例如,圖中兔子屬於食草動物,食草動物屬於動

物。可見,父類更通用,子類更具體。我們通過繼承,可以使多種事物之間形成一種關係體系。

定義繼承:就是子類繼承父類的屬性和行為,使得子類物件具有與父類相同的屬性、相同的行為。子類可以直接 訪問父類中的非私有的屬性和行為。

好處提高**的復用性。 2. 類與類之間產生了關係,是多型的前提。

不能被繼承的成員:建構函式、析構函式、私有成員;其他的都能被繼承。

繼承的格式

可以通過關鍵字,可以宣告乙個子類繼承另外乙個父類

class duck//類的成員:構造方法 析構方法 字段 屬性 例項方法 靜態方法

~duck()//析構方法,銷毀物件

public static int 體重 = 88;//字段

public static int **//屬性

internal void quack()//例項方法

public static void shangjia()//靜態方法

public

void swimming()//例項方法

小貼士:類中的成員變數是非私有的,子類中可以直接訪問。若類中的成員變數私有了,子類是不能 直接訪問的。通常編碼時,我們遵循封裝的原則,使用private修飾成員變數,那麼如何訪問父類的私有成員 變數呢?對!可以在父類中提供公共的get***方法和set***方法

class flyduck: duck//繼承:**復用。 duck 父類、基類

}class program

}

繼承後的特點——成員變數

當類之間產生了關係後,其中各類中的成員變數,又產生了哪些影響呢?

成員變數不重名

如果子類父類**現不重名的成員變數,這時的訪問是沒有影響的

注意事項

子類方法覆蓋父類方法,必須要保證許可權大於等於父類許可權。 2. 子類方法覆蓋父類方法,返回值型別、函式名和引數列表都要一模一樣。 1.5 繼承後的特點——構造方法

當類之間產生了關係,其中各類中的構造方法,又產生了哪些影響呢?

首先我們要回憶兩個事情,構造方法的定義格式和作用。

構造方法的名字是與類名一致的。所以子類是無法繼承父類構造方法的。 2. 構造方法的作用是初始化成員變數的。所以子類的初始化過程中,必須先執行父類的初始化動作。子類的構 造方法中預設有乙個 super() ,表示呼叫父類的構造方法,父類成員變數初始化後,才可以給子類使用

分級訪問修飾符 public internal protected private

public:最大的訪問權,被整個解決方案

internal,本命名空間內(專案)訪問

protected被子類繼承,或類的內部呼叫

private被類的內部訪問

this:在類的內部呼叫例項成員,在類的外部用「物件」來呼叫例項成員;

靜態成員在類的外部和內部都是用「類」來呼叫

C 中的繼承

一 繼承 什麼是繼承 繼承是允許重用現有類去建立新類的過程。分類的原則是乙個類派生出來的子類具有這個類的所有非私有的屬性。1 繼承c 中的類 c 不支援多重繼承,c 類始終繼承自乙個基類 如果未在宣告中指定乙個基類,則繼承自 system.object 派生類繼承基類的語法如下 using syst...

C 中的繼承

繼承,資料抽象和動態繫結是物件導向程式設計的核心思想。使用繼承,可以定義相似的型別並對其相似關係進行建模。通過繼承聯絡在一起的類構成一種層次關係,通常在層次關係的根部有乙個基類,其他類則直接或間接地從基類繼承而來,這些繼承得到的類稱為派生類。下面就讓我們一起來 繼承中的一些常見問題。1.繼承方式cl...

C 中的繼承

繼承是c 中的三大特性之一。繼承機制是物件導向程式設計使 可以復用的最重要的手段,它允許程式設計師在保持原有類特性的基礎上進行擴充套件,增加功能。這樣產生新的類,叫做派生類。繼承定義的格式 class deriveclassname 派生類名 asecc label 繼承型別 baseclassna...