python 類的繼承
阿新 • • 發佈:2018-03-15
elf blog 多個 蘿蔔 lin and eat gpo pass
-
相關概念:
-
繼承:父類的屬性和方法子類可以直接擁有稱為繼承
-
派生:子類在父類的基礎上衍生出來的新的特征(屬性和方法)
-
總結:其實他們是一回事,只是描述問題的角度側重點不同(繼承側重相同點,派生側重不同點)
-
-
相關語法:
# class Animal(object): # 當沒有指定父類時,相當默認父類為object class Animal: def __init__(self, name): self.name = name ? def eat(self): print(‘小動物喜歡一天到晚吃個不停
-
派生:子類可以擴充屬性和方法
class Animal: def run(self): print(‘小動物喜歡到處亂跑‘) class Rabbit(Animal): # 添加方法 def eat(self): print(‘愛吃蘿蔔和青菜‘) xiaobai
-
重寫:
-
父類的方法完全不合適,子類需要全部的覆蓋
-
父類的方法合適,但是需要完善
-
示例:
class Animal: def run(self): print(‘小動物喜歡到處亂跑‘) ? def eat(self): print(‘小動物也是一天三頓‘) class Cat(Animal):
-
-
多繼承
-
概念:一個類可以有多個父類
-
示例:
class A: def eat(self): print(‘eat func of A‘) class B: def eat(self): print(‘eat func of B‘) # 多繼承,多個父類使用逗號隔開 class C(B, A): def eat(self): # 當多個父類擁有相同的方法時,會按照繼承時的先後順序進行選擇 # super().eat() # 如果非要使用後面的類的方法時,可以明確指定進行調用 A.eat(self) c = C() c.eat()
-
python 類的繼承