python學習之繼承特性
阿新 • • 發佈:2021-10-27
python學習之繼承特性。
python學習之繼承特性
概念
繼承特性,面向物件的三大特徵之一。通過繼承從其它類獲取屬性和方法
繼承特性
# 一個類中有方法重複,但又不能實現全部功能 # 通過定義class 類名(父類):繼承父類的所有屬性和方法 class People: def __init__(self,name,age): self.name = name self.age = age def say_hello(self): print('大家好!我的名字叫:',self.name,'我今年',self.age,'歲了。') wzs = People('wzs',23) wzs.say_hello() # Man類繼承父類People的屬性和方法,減少程式碼重複性 # 子類的程式碼可以單獨設定 class Man(People): pass a = Man('chuck',30) a.say_hello() # 如果定義類名時沒有定義父類,預設父類為object # issubclass檢查一個類是否是另外一個類的子類 print(issubclass (Man,object))
方法重寫
在子類中有和父類同名的方法,通過子類建立物件會使用子類的方法
在子類定義__init__()方法覆蓋父類的屬性。
屬性的重寫
點點滴滴,積少成多,終有一日能發揮用處。# 父類的方法都會被繼承包括特殊方法__init__() # 1.子類可以重寫__init__方法進行屬性的重寫 # 2.擴充套件父類的屬性。 # super()方法呼叫父類的init class Animal(): def __init__(self,name) : self.name = name class Dog(Animal): def __init__(self,name,weight): # super()可以用來獲取當前類的父類 super().__init__(name) self.weight = weight d = Dog('小白',18) print(d.name) print(d.weight)