059day(繼承和復合關係,覆蓋和保護成員)

2021-08-13 05:41:23 字數 1115 閱讀 8815

17221070411-陳國佳總結《2023年12月8日》【連續059天】

內容:a.繼承關係和復合關係:

a).繼承:「是」關係

1.基類a,b是基類a的乙個派生類;

2.邏輯上要求:「乙個b物件也是乙個a物件」;

使用:如果我們已經定義了類man,又想要定義類woman,這兩類有共同之處,但我們不能使其中一類成為另一類的派生類,邏輯上不合理,

所以要先定義乙個基類human;

b).復合:「有」關係

1.類c中「有」成員變數k,k是類d的物件,則c和d是復合關係;

2.邏輯上要求:「d物件是c物件的固有屬性或組成部分」;

舉例討論:

1.寫乙個點類,在寫乙個圓類;

通過繼承:class cpoint ;     class ccircle::public cpoint;

錯誤,因為乙個圓並不是乙個點;

應該改為復合:class cpoint ;     class ccircle;

2.寫乙個小區管理程式,需要定義乙個「業主類」,乙個「狗」類;狗有乙個主人(業主),業主可至多擁有10條狗;

復合關係:

(1)class cdog;class cmaster; class cdog;

迴圈定義,出錯!

(2)class cdog;class cmaster; class cdog;

//當我們修改一條狗的主人時,也要修改其主人的其它狗,過於麻煩;

(3).class cmaster;  class cdog; class cmaster;

//當我們修改狗時,必須通過其主人,可行,但不實用;

(4).class cmaster; class cdog; class cmaster;

正確,這種關係有時也叫「知道」;

b.覆蓋和保護成員;

覆蓋:派生類定義乙個和基類同名的成員。

在派生類中訪問這類成員,預設時是訪問派生類中定義的成員。想要通過派生類訪問基類定義的同名成員時,要使用作用域符號::。

protected:

可被下列函式訪問:

基類的成員,友元函式

派生類的成員函式可以訪問當前物件的基類的保護物件;

明日計畫:派生類的建構函式;

OC中繼承和復合

1,繼承的概念,為什麼使用繼承 繼承事面相物件語言的一大特徵,c 語言,面向過程的語言 順序,選擇,迴圈。三個特點。oc語言,物件導向的語言 封裝,繼承,多型。2 繼承的語法 1,繼承的語法 inte ce beautygirl nsobject 冒號之後表示要繼承的類 父 冒號之前表示繼承的類 子...

Python中的型別關係和繼承關係

在python中一切都是物件,每個物件都有乙個唯一的不可變的id 通過id函式查詢 把乙個名字和乙個id關聯起來,就可以通過這個名字檢索到這個物件。如果乙個物件a持有另乙個物件b的id,那麼檢索到a之後就可以檢索到b,我們就說存在乙個a到b的導航。這種導航關係使得python中所有物件之間形成了乙個...

Python中型別關係和繼承關係例項詳解

如果乙個物件a持有另乙個物件b的id,那麼檢索到a之後就可以檢索到b,我們就說存在乙個a到b的導航。這種導航關係使程式設計客棧得python中所有物件之間形成了乙個複雜的網路結構。python程式的執行包括 1.修改這個網路結構 2.執行有 的 物件 code object或者說bytecode,見...