在 Python 中從超類建立子類

Abdul Jabbar 2021年12月2日
在 Python 中從超類建立子類

在 Python 中,你可以從現有的超類(父類)中獲取你想要的特徵來建立新的子類(子類)。這個 Python 特性稱為繼承。

通過繼承,你可以

  • 優先使用父類或超類的特性。
  • 更改你認為重要的特性。
  • 向你的子類或子類或派生類新增新屬性。

如果支援繼承,每種物件導向的程式語言都是寶貴的。Python 不僅支援繼承,還支援多重繼承。如果我們說繼承是從現有類派生新類的過程。通過這樣做,我們得到了一個類的層次結構。在大多數基於類的面嚮物件語言中,通過繼承建立的物件(子類或子物件)包含所有必要的資訊。但是,在某些程式語言中存在例外,因為所有子類都獲得父物件(超類)的屬性和行為。

在本文中,我們將學習從稱為繼承的父物件超類開發子物件子類。超級班有時也被稱為祖先。類之間存在層級關係。

繼承允許你在現有類的基礎上建立類,通過此方法構建的子類使你可以繼承超類的特性和方法。這意味著此方法支援程式碼可重用性。通常,子類繼承的過程或軟體被認為是在子類中重用的。物件或類通過繼承的關係產生有向圖。

如果我們有幾個相似的類,我們可以在一個類中定義通用功能,並定義這個父類的子類並在那裡實現特定的功能。在這裡使用 super(),Python 內建函式是呼叫父類進行初始化的稍微好一點的過程。以下程式碼是超類和子類關係的最佳示例。

使用 super() 函式從超類建立子類

在這個程式碼塊中,我們將首先建立一個超類 Animal,它有一些名字,它列印動物的顏色。然後我們將建立 Animal 類的子類 Cat 型別,我們將使用 super() 方法將 Cat 類物件傳遞給父超類,它會列印與貓名稱相關的顏色。

class Animal(object):
  def __init__(self, animalName):
    print(animalName, 'color is white.')

class Cat(Animal):
  def __init__(self):
    print('Cat Name is Milo.')
    super().__init__('Milo')
    
catobject = Cat()

輸出:

Cat Name is Milo.
Milo color is white.
Author: Abdul Jabbar
Abdul Jabbar avatar Abdul Jabbar avatar

Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.

LinkedIn

相關文章 - Python Class