IT科技

當前位置 /首頁/IT科技 > /列表

python類的繼承

<link rel="stylesheet" href="https://js.how234.com/third-party/SyntaxHighlighter/shCoreDefault.css" type="text/css" /><script type="text/javascript" src="https://js.how234.com/third-party/SyntaxHighlighter/shCore.js"></script><script type="text/javascript"> SyntaxHighlighter.all(); </script>

python類的繼承是什麼?一起來看看小編今天的分享吧。

python類的繼承可以理解成類之間的父類和子類型關係,假如我需要定義幾個類,而類與類之間有一些公共的屬性和方法,這時我就可以把相同的屬性和方法作為基類的成員,而特殊的方法及屬性則在本類中定義。這樣子類只需要繼承基類(父類),子類就可以訪問到基類(父類)的屬性和方法了,它提高了代碼的可擴展性和重用行。

如下定義一個動物類Animal為基類,它基本兩個實例屬性name和age、一個方法call。

python3中所有類都可以繼承於object基類。

class Animal(object):     def __init__(self, name, age):       self.name = name       self.age = age
   def call(self):       print(self.name, '會叫')

現在我們需要定義一個Cat 貓類繼承於Animal,貓類比動物類多一個sex屬性。

class Cat(Animal):   def __init__(self,name,age,sex):       super(Cat, self).__init__(name,age)        self.sex=sex

不要忘記從Animal類引入屬性。

if __name__ == '__main__':     c = Cat('喵喵', 2, '男')    c.call()

單模塊被引用時下面代碼不會受影響,用於調試,Cat繼承了父類Animal的屬性,輸出 喵喵 會叫 ,Cat繼承了父類Animal的方法。

python類的繼承

注意:一定要用 super(Cat, self).__init__(name,age) 去初始化父類,否則,繼承自 Animal的 Cat子類將沒有 name和age兩個屬性。
函數super(Cat, self)將返回當前類繼承的父類,即 Animal,然後調用__init__()方法,注意self參數已在super()中傳入,在__init__()中將隱式傳遞,不能再寫出self。

TAG標籤:Python 繼承 #