在面向對象編程 (OOP) 的世界中,繼承是指一個類能夠在運行時繼承或擴展另一個類的屬性的機制。此屬性允許派生類獲取基類的屬性或特徵。
Python 中的繼承被認為是 OOP 最重要的方面之一,因為它充當可重用函數,從而生成一段代碼更健壯。
好處
- 繼承描述了類似於現實世界場景的關係。
- 它提供了一種可重用性,允許用戶在不更改派生類的情況下向派生類添加額外的功能。
- 如果類 Y 繼承自類 X,那麼 Y 的所有子類都會自動繼承自類 X。
基本繼承術語
- 子類/派生類:這是一個從另一個類(通常是基類)繼承屬性的類。
- 超類/基類:這是其他子類的來源。
- 派生類通常派生/繼承/擴展基類。
語法
class SuperClassName: 超類的主體 class DerivedClass_Name (SuperClass): 衍生的主體class
示例
讓我們通過簡單的示例深入了解 Python 繼承的世界。另請閱讀多重繼承。
< br>
Step 1. 創建基類
class Father: # 關鍵字`self`用於表示類的實例。 # 通過使用“self”關鍵字,我們可以訪問python中類的屬性和方法。 # 方法“__init__”在面向對象的術語中被稱為構造函數。 # 從類創建對象時調用此方法。 # 它允許類初始化類的屬性。 def __init __ (self, name, lastname): self.name = name self.lastname = lastname def printname (self): print (self.name, self.lastname) #使用Father類創建對象,然後執行printname 方法:x = Father("Anees", "Mulani") x.printname()
輸出:Anees Mulani
步驟2.創建派生類
# 子類__init __()函數覆蓋了基類__init __()函數的繼承。 class Son (Father): def __init __ (self, name, lastname): Father .__ init __ (self, name, lastname) x = Son ("Dev", "Bajaj") x.printname()
結論:Dev Bajaj
使用super()函數
使用super()
函數,不需要使用parent元素名稱,它會自動繼承其父元素的方法和屬性。
class Father: def __init __ (self, name, lastname) : self.name = name self.lastname = lastname def printname (self): print (self.name, self.lastname) class Son (Father): def __init __ (self, name, lastname): super () .__ init __ (name, lastname) x = Student ("Dev", "Bajaj") x.printname ()