python之類與類之間的關系


在我們的世界中事物和事物之間總會有一些聯系.   在面向對象中. 類和類之間也可以產生相關的關系

1. 依賴關系
  執行某個動作的時候. 需要xxx來幫助你完成這個操作. 此時的關系是最輕的. 隨時可以更換另外一個東西來完成此操作

  

class Person:
    def play(self, tools):
        tools.run()
        print('終於能打游戲了')

class Computer:
    def run(self):
        print('電腦已經打開,DNF已經登陸')
class Phone:
    def run(self):
        print('王者榮耀已經登陸')
c = Computer()
PH = Phone()
p = Person()
p.play(c)
# 電腦已經打開,DNF已經登陸
# 終於能打游戲了
p.play(PH)
# 王者榮耀已經登陸
# 終於能打游戲了

2. 關聯關系
  在對象里面埋對象
  1. 一對一關系
    

class Boy:

    def __init__(self, name,  girlFriend=None):
        # 在初始化的時候可以給一個對象的屬性設置成另一個類的對象
        self.girlFriend = girlFriend  # 一個男孩有一個女朋友

    def chi(self):
        if self.girlFriend:
            print(f"帶着他的女朋友{self.girlFriend.name}去吃飯")
        else:
            print("單身狗, 吃什么吃? 滾去學習.")

    def movie(self):
        if self.girlFriend:
            print(f"帶着他的女朋友{self.girlFriend.name}去看電影")
        else:
            print("單身狗, 看什么看? 滾去學習.")


class Girl:
    def __init__(self, name):
        self.name = name

b = Boy("寶浪")
g = Girl("ABC")
b.chi()  # 單身狗, 吃什么吃? 滾去學習.

# alex給包浪介紹了一個女朋.
b.girlFriend = g
b.chi() # 帶着他的女朋友ABC去吃飯

g2 = Girl("QWER")
b.girlFriend = g2 # 換了個女朋友
b.chi() # 帶着他的女朋友QWER去吃飯

 

  2. 一對多關系
    

# 一對多
class School:
    def __init__(self, name):
        self.teach_list = []
    def zhaopin(self,teach):
        self.teach_list.append(teach)
    def shagnke(self):
        for t in self.teach_list:
            t.work()
class Teacher:
    def   __init__(self, name):
        self.name = name
    def work(self):
        print(f'{self.name}在上課')
x = School('xxx學校')
t1 = Teacher('教師1')
t2 = Teacher('教師2')
t3 = Teacher('教師3')
t4 = Teacher('教師4')

x.zhaopin(t1)
x.zhaopin(t2)
x.zhaopin(t3)
x.zhaopin(t4)

x.shagnke()
'''
教師1在上課
教師2在上課
教師3在上課
教師4在上課
'''

類中的關系: 依賴關系是最輕的. 最重的是繼承關系. 關聯關系是比較微妙的.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM