【Python】python類的繼承
目錄
一、概述
物件導向程式設計 (OOP) 語言的一個主要功能就是“繼承”。繼承是指這樣一種能力:它可以使用現有類的所有功能,並在無需重新編寫原來的類的情況下對這些功能進行擴充套件。
通過繼承建立的新類稱為“子類”或“派生類”,被繼承的類稱為“基類”、“父類”或“超類”,繼承的過程,就是從一般到特殊的過程。在某些 OOP 語言中,一個子類可以繼承多個基類。但是一般情況下,一個子類只能有一個基類,要實現多重繼承,可以通過多級繼承來實現。
繼承概念的實現方式主要有2類:實現繼承、介面繼承。
- 實現繼承是指使用基類的屬性和方法而無需額外編碼的能力。
- 介面繼承是指僅使用屬性和方法的名稱、但是子類必須提供實現的能力(子類重構爹類方法)。
在考慮使用繼承時,有一點需要注意,那就是兩個類之間的關係應該是“屬於”關係。例如,Employee 是一個人,Manager 也是一個人,因此這兩個類都可以繼承 Person 類。但是 Leg 類卻不能繼承 Person 類,因為腿並不是一個人。
OO開發正規化大致為:劃分物件→抽象類→將類組織成為層次化結構(繼承和合成) →用類與例項進行設計和實現幾個階段。
二、類的繼承
2.1 繼承的定義
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
2.2 建構函式的繼承
如果我們要給例項 c 傳參,我們就要使用到建構函式,那麼建構函式該如何繼承,同時子類中又如何定義自己的屬性?
繼承類的構造方法:
1.經典類的寫法: 父類名稱.__init__(self,引數1,引數2,...)
2. 新式類的寫法:super(子類,self).__init__(引數1,引數2,....)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
|
如果我們只是簡單的在子類Chinese中定義一個建構函式,其實就是在重構。這樣子類就不能繼承父類的屬性了。所以我們在定義子類的建構函式時,要先繼承再構造,這樣我們也能獲取父類的屬性了。
子類建構函式基礎父類建構函式過程如下:
例項化物件c ----> c 呼叫子類__init__() ---- > 子類__init__()繼承父類__init__() ----- > 呼叫父類 __init__()
2.3 子類對父類方法的重寫
如果我們對基類/父類的方法需要修改,可以在子類中重構該方法。如下的talk()方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
|
相關文章
- Python類的繼承Python繼承
- python_類繼承例題Python繼承
- python繼承Python繼承
- python 繼承Python繼承
- python之繼承Python繼承
- 【廖雪峰python進階筆記】類的繼承Python筆記繼承
- 類的繼承_子類繼承父類繼承
- Python學習手冊之類和繼承Python繼承
- python3父類需要繼承object嗎?Python繼承Object
- python3中新類如何繼承?Python繼承
- Python的多重繼承如何使用?python教程Python繼承
- 什麼是繼承?Python繼承的特徵有哪些?繼承Python特徵
- 詳細介紹Python類的繼承與多型Python繼承多型
- 如何理解Python中的繼承?python入門Python繼承
- python多執行緒之從Thread類繼承Python執行緒thread繼承
- python 基礎之繼承、重寫、多繼承Python繼承
- Python 繼承和子類示例:從 Person 到 Student 的演示Python繼承
- 類的繼承繼承
- Python 繼承 和 多型Python繼承多型
- Python多重繼承注意事項!Python教程Python繼承
- Python中的繼承和多型Python繼承多型
- python3 筆記20.類的呼叫和多重繼承(多重繼承MRO方法解析順序)Python筆記繼承
- 20200109 - 類的繼承繼承
- python3-----繼承 過載Python繼承
- python:super()對多繼承的影響Python繼承
- python 詳解類class的繼承、__init__初始化、super方法Python繼承
- Python 簡明教程 --- 21,Python 繼承與多型Python繼承多型
- 類的繼承和派生繼承
- 類的繼承圖解繼承圖解
- python高階語法:繼承性Python繼承
- python物件導向的繼承-組合-02Python物件繼承
- PHP 抽象類繼承抽象類時的注意點PHP 抽象類繼承抽象類時的注意點PHP抽象繼承
- 原型繼承:子類原型繼承
- C++ | 類繼承C++繼承
- TypeScript 介面繼承類TypeScript繼承
- 類的繼承,介面的使用繼承
- Python-單繼承中值傳遞的問題Python繼承
- 繼承 基類與派生類繼承