繼承:
強調類與類之間的關系
組合:
強調物件和物件之間的關系
清楚python支持多繼承,從而涉及到一些MRO的點,這里不做贅述,在實際作業程序中,我們經常會使用繼承來實作代碼復用,如果僅僅是為了復用,還是比較推薦使用組合方式,因為繼承方式,使得類與類之間的耦合性變得例外緊密,這多少違背了迪米特法則
1 """ 2 OOP中三大特性之一:繼承 3 如果單純為了代碼復用更多的可以考慮 4 組合,繼承類與類之間耦合度高 5 某種程度上,委托也可以是繼承的一種替代方案 6 """ 7 8 9 class A: 10 def __init__(self, name): 11 self.name = name 12 13 def run(self): 14 return "只有永不遏制的奮斗" 15 16 17 class B: 18 def __init__(self, age): 19 self.age = age 20 21 def say(self): 22 return "才能使青春之花" 23 24 25 class Valley: 26 def __init__(self, name: str = None, age: int = None): 27 # 類實體物件作為屬性 28 self.a = A(name=name) 29 self.b = B(age=age) 30 31 def test(self): 32 print(self.a.run()) 33 print(self.b.say()) 34 35 36 if __name__ == '__main__': 37 Valley().test()
output:
只有永不遏制的奮斗
才能使青春之花
只有永不遏止的奮斗,才能使青春之花,即便是凋謝,也是壯麗地凋謝
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/536079.html
標籤:其他
