python怎麼繼承類 python類的繼承

2021-10-18 15:25:16 字數 1263 閱讀 5604

一、概述

二、類的繼承

2.1 繼承的定義

2.2 建構函式的繼承

2.3 子類對父類方法的重寫

三、類繼承的事例

一、概述

物件導向程式設計 (oop) 語言的乙個主要功能就是「繼承」。繼承是指這樣一種能力:它可以使用現有類的所有功能,並在無需重新編寫原來的類的情況下對這些功能進行擴充套件。

通過繼承建立的新類稱為「子類」或「派生類」,被繼承的類稱為「基類」、「父類」或「超類」,繼承的過程,就是從一般到特殊的過程。在某些 oop 語言中,乙個子類可以繼承多個基類。但是一般情況下,乙個子類只能有乙個基類,要實現多重繼承,可以通過多級繼承來實現。

繼承概念的實現方式主要有2類:實現繼承、介面繼承。

實現繼承是指使用基類的屬性和方法而無需額外編碼的能力。

介面繼承是指僅使用屬性和方法的名稱、但是子類必須提供實現的能力(子類重構爹類方法)。

在考慮使用繼承時,有一點需要注意,那就是兩個類之間的關係應該是「屬於」關係。例如,employee 是乙個人,manager 也是乙個人,因此這兩個類都可以繼承 person 類。但是 leg 類卻不能繼承 person 類,因為腿並不是乙個人。

oo開發正規化大致為:劃分物件→抽象類→將類組織成為層次化結構(繼承和合成) →用類與例項進行設計和實現幾個階段。

二、類的繼承

2.1 繼承的定義

2.2 建構函式的繼承

如果我們要給例項 c 傳參,我們就要使用到建構函式,那麼建構函式該如何繼承,同時子類中又如何定義自己的屬性?

繼承類的構造方法:

1.經典類的寫法: 父類名稱.__init__(self,引數1,引數2,...)

2. 新式類的寫法:super(子類,self).__init__(引數1,引數2,....)

如果我們只是簡單的在子類chinese中定義乙個建構函式,其實就是在重構。這樣子類就不能繼承父類的屬性了。所以我們在定義子類的建構函式時,要先繼承再構造,這樣我們也能獲取父類的屬性了。

子類建構函式基礎父類建構函式過程如下:

例項化物件c ----> c 呼叫子類__init__()  ---- > 子類__init__()繼承父類__init__()  ----- > 呼叫父類 __init__()

2.3 子類對父類方法的重寫

如果我們對基類/父類的方法需要修改,可以在子類中重構該方法。如下的talk()方法

三、類繼承的事例

python 類 繼承 python 類的繼承

1 所用的類都可以被繼承 2 沒有繼承其他類的類必然有乙個父類 object 3子類可以擁有父類的 init 裡的類容 派生子類除了父類的一些屬性,還會有自己的屬性和方法,這些就叫派生 如何使用 實現 class animal def init self,name,attack,hp self.na...

python怎麼成為高手 如何成為Python高手

這篇文章主要是對我收集的一些文章的摘要。因為已經有很多比我有才華的人寫出了大量關於如何成為優秀python程式設計師的好文章。我的總結主要集中在四個基本題目上 函式式程式設計,效能,測試,編碼規範。如果乙個程式設計師能將這四個方面的內容知識都吸收消化,那他 她不管怎樣都會有巨大的收穫。函式式程式設計...

python物件怎麼理解 如何理解python物件

類 class 抽象的概念,比如說人類 鳥類 水果 是乙個總的稱呼,沒有具體到某個物體 物件 object,指具體例項,instance 給物件增加乙個例項變數 增加乙個skills例項變數 p.skills programming writing print p.skills 刪除p物件的name...