1. 程式人生 > 實用技巧 >🍖類的組合

🍖類的組合

一.什麼是類的組合

組合就是, 一個類或一個類的物件中的某一個屬性, 這個屬性是另一個類的物件

二.為什麼使用組合

用來解決類與類之間程式碼冗餘的問題 (程式碼重用性)

三.組合與繼承的區別

組合和繼承都是有效的利用已有類的資源的重要方式, 但二者的概念和使用場景不同

1.繼承方式

  • 繼承是一種 "是" (屬於) 的關係, 詩人是人, 歌星是人, 當類之間有很多相同的之處,應該使用繼承
# 人類
class Person:
    def __init__(self,name,age,sex):
        self.name =name
        self.age = age
        self.sex = sex

    def run(self):
        print(f"{self.name}跑起來")

# 歌星類
class Start(Person):
    def sing(self):
        print("唱歌")

# 詩人類
class Poet(Person):
    def write(self):
        print("寫詩")

S1 = Start("毛不易",25,"man")
P1 = Poet("李白",10000,"man")

S1.run()  # 毛不易跑起來
P1.run()  # 李白跑起來

2.組合方式

  • 組合是一種 "有" 的關係, 例:我有工作、有房子, 銀行卡有轉賬、儲存功能, 我可以擁有一張銀行卡作為我的元件
  • 當類之間有顯著不同,並且較小的類是較大的類所需要的元件時,用組合比較好