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的方法。
注意:一定要用 super(Cat, self).__init__(name,age) 去初始化父類,否則,繼承自 Animal的 Cat子類將沒有 name和age兩個屬性。函數super(Cat, self)將返回當前類繼承的父類,即 Animal,然后調用__init__()方法,注意self參數已在super()中傳入,在__init__()中將隱式傳遞,不能再寫出self。
以上就是小編今天的分享了,希望可以幫助到大家。