物件導向之組合
1、什麼是繼承?什麼是組合?
顧名思義:繼承就是什麼是什麼的關係
組合就是什麼有什麼的關係
class
person
: nationnality =
'china'
def__init__
(self, name, age, ***)
: self.name = name
self.age = age
self.*** = ***
class
teacher
(person)
:def
__init__
(self, name, age, ***, level, salary)
:super()
.__init__(name, age, ***)
self.level = level
self.salary = salary
class
student
(person)
:def
__init__
(self, name, age, ***, hobby)
:super()
.__init__(name, age, ***)
self.hobby = hobby
class
course
:def
__init__
(self, name, price, cycle)
: self.name = name
self.price = price
self.cycle = cycle
deftell_info
(self)
:print
('課程名:%s,學費:%s,學習週期:%s'
%(self.name, self.price, self.cycle)
)teacher1 = teacher(
'alen',38
,'male',10
,10000
)student1 = student(
'egon',18
,'male'
,'sleep'
)python = course(
'python'
,7000
,'6 months'
)student1.course = python # 這種關係稱之為組合,以內不存在繼承的關係,即子級沒有去父級找的關係
teacher1.course = python # 這就是什麼有什麼的關係,老師教有這門課,學生有這門課
# 老師和學生都有這門課程
print
(teacher1.course.name)
print
(student1.course.name)
以上可以看出,教師和學生並沒有繼承課程,但是教師和學生都同時擁有python這門課程,這樣的關係就稱之為組合
物件導向 組合
乙個物件的屬性是來自另一類的物件,稱之為組合。組合也是用來解決類與類 冗餘的問題 組合的基本形式 class too 作為另乙個物件的屬性 pass class bar def init self,too self.too too t1 too b1 bar t1 class too a 1111 ...
物件導向 物件的組合
組合 乙個類的例項可以當做引數傳給另乙個類的例項 class school def init self,name,address self.name name self.address address class course def init self,name,price,outline,sch...
物件導向初識(組合)
一 物件導向 組合 定義 給乙個類的物件封裝乙個屬性,這個屬性是另乙個類的物件。意義 讓類的物件與另乙個類的物件產生關係,類與類之間產生關係。說白了也就是把a物件當成屬性傳入b物件,然後讓b物件1去呼叫a物件 人物使用 攻擊另乙個人物 class game role def init self,na...