物件導向(二)

2021-09-30 01:33:57 字數 1170 閱讀 2761

目錄

父類:

class parentclass1:

pass

class parentclass2:

pass

子類:

class subclass(parentclass1):

pass

繼承多個子類:

class subclass2(parentclass1, parentclass2):

pass

檢視繼承的父類:__bass--,是類的屬性,用來查詢當前類的父類.

print(subclass1.--bases--)

print(subclass2.--bases--)

先抽象(舉例):

歐巴馬--人類--動物類

麥兜--豬類-- 動物類

***-- 狗類--動物類

特徵:鼻子眼睛;技能吃喝拉撒

再繼承:

歐巴馬物件-- 呼叫人類-- 繼承動物類

麥兜-- 呼叫豬類-- 繼承動物類

***-- 呼叫狗類-- 繼承動物類

繼承關係:

物件是特徵與技能的結合體.

類是一系列物件相同的特徵與技能的結合體.

繼承是一系列類相同的特徵與技能的集合體.

1.物件查詢屬性會先從物件的命名空間中查詢;

2.若物件沒有,則會去類裡面找;

3.若當前類是子類,並且沒有物件找的屬性,會去父類中查詢(若都沒有,則報錯);

注意: 物件查詢屬性,若子類有, 不管父類有沒有,以子類的為準.

派生指的是子類繼承父類的屬性,並且派生出新的屬性.

子類派生出新的屬性,若與父類的屬性相同,則以子類的為準.

繼承是誰與誰的關係,指的是類與類的關係,子類與父類是從屬關係

子類派生出新的屬性,若與父類的屬性相同,則以子類的為準.

python2中才會有新式類和經典類之分.

python3中,所有的類都是新式類.

新式類: 繼承object的類都稱之為新式類.python3 中,子類不繼承自定義的類,預設繼承object.

經典類: 在python2中,凡是沒有繼承object的都是經典類.

mro(): 屬於object--> type的函式,用來檢視之前的繼承順序,在多繼承的情況下.

物件導向(二)

物件導向的特徵之三 多型 多型機制 是物件導向程式設計的乙個重要特徵 多型的特點 是採用同名的方式,根據呼叫方法時傳送的引數的多少以及傳送引數型別的不同,呼叫不同的方法,這樣對於類的編制而言,可以採用同樣的方法獲得不同的行為特徵 多型性可以分為 編譯時多型 和執行時多型 編譯時多型 表現為方法名相同...

物件導向 二

多型 polymorphic 概述 事物存在的多種形態.1,事物存在的多種形態.2,要有方法重寫 3,要有父類引用指向子類物件.3,要有父類引用指向子類物件.重寫的注意事項 b 子類重寫父類方法時,訪問許可權不能更低 重寫的例子 public class base void test byte b ...

物件導向(二)

在類中屬性前加上雙下滑線就是私有化的屬性了,不能在類外直接通過類名呼叫 class dog role dog d dog print dog.role 報錯 我們可以用 dict 看看dog中有那些屬性看看 role變成了什麼 class dog role dog print dog.dict 我們...