(一)Python入門-6面向對象編程:12組合

組合:

  「is-a」關係,咱們可使用「繼承」。從而實現子類擁有的父類的方法和屬性。「is-a」 關係指的是相似這樣的關係:狗是動物,dog is animal。狗類就應該繼承動物類。測試

  「has-a」關係,咱們可使用「組合」,也能實現一個類擁有另外一個類的方法和屬性。」 has-a」關係指的是這樣的關係:手機擁有 CPU。 MobilePhone has a CPU。spa

【操做】code

#測試組合
import copy
class MobilePhone:
    def __init__(self,cpu,screen):
        self.cpu = cpu
        self.screen = screen

class CPU:
    def calculate(self):
        print('計算。。。。。')

class Screen:
    def show(self):
        print('顯示。。。。。')

c = CPU()
s = Screen()
m = MobilePhone(c,s)

m.cpu.calculate()   #經過組合,調用cpu對象的方法,至關於手機對象間接擁有了‘cpu的方法’
m.screen.show()     #經過組合,調用screen對象的方法,至關於手機對象間接擁有了‘screen的方法’

運行結果:對象

  計算。。。。。
  顯示。。。。。blog

相關文章
相關標籤/搜索