python:面向?qū)ο笾畬?shí)例

應(yīng)用:存放家具

#定義一個(gè)home類

classHome:

def__init__(self, area):

self.area = area#房間剩余的可用面積

#self.light = 'on' #燈默認(rèn)是亮的

self.containsItem = []

def__str__(self):

msg ="當(dāng)前房間可用面積為:"+ str(self.area)

iflen(self.containsItem) >0:

msg = msg +"容納的物品有: "

fortempinself.containsItem:

msg = msg + temp.getName() +", "

msg = msg.strip(", ")

returnmsg

#容納物品

defaccommodateItem(self,item):

#如果可用面積大于物品的占用面積

needArea = item.getUsedArea()

ifself.area > needArea:

self.containsItem.append(item)

self.area -= needArea

print("ok:已經(jīng)存放到房間中")

else:

print("err:房間可用面積為:%d,但是當(dāng)前要存放的物品需要的面積為%d"%(self.area, needArea))

#定義bed類

classBed:

def__init__(self,area,name ='床'):

self.name = name

self.area = area

def__str__(self):

msg ='床的面積為:'+ str(self.area)

returnmsg

#獲取床的占用面積

defgetUsedArea(self):

returnself.area

defgetName(self):

returnself.name

#創(chuàng)建一個(gè)新家對(duì)象

newHome = Home(100)#100平米

print(newHome)

#創(chuàng)建一個(gè)床對(duì)象

newBed = Bed(20)

print(newBed)

#把床安放到家里

newHome.accommodateItem(newBed)

print(newHome)

#創(chuàng)建一個(gè)床對(duì)象

newBed2 = Bed(30,'席夢(mèng)思')

print(newBed2)

#把床安放到家里

newHome.accommodateItem(newBed2)

print(newHome)

總結(jié):

·如果一個(gè)對(duì)象與另外一個(gè)對(duì)象有一定的關(guān)系,那么一個(gè)對(duì)象可用是另外一個(gè)對(duì)象的屬性

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 1.1面向?qū)ο?面向?qū)ο?object-oriented ;簡稱: OO)至今還沒有統(tǒng)一的概念 我這里把它定義為:...
    TENG書閱讀 583評(píng)論 0 0
  • 基礎(chǔ)1.r''表示''內(nèi)部的字符串默認(rèn)不轉(zhuǎn)義2.'''...'''表示多行內(nèi)容3. 布爾值:True、False(...
    neo已經(jīng)被使用閱讀 1,719評(píng)論 0 5
  • 你值錢嗎?昨晚的社群文,連續(xù)兩天都是有關(guān)這個(gè)主題的。 今天主要說服務(wù)要收費(fèi),而不是免費(fèi)的。收費(fèi)了,各方面質(zhì)量都要提...
    卡卡22閱讀 55評(píng)論 0 0
  • 今天陪家屬去看望她生病住院的爺爺,老爺子一改之前的憔悴病態(tài),說話有力、思路清晰、狀態(tài)甚佳、心情自然也大好,...
    大嘴悠悠閱讀 572評(píng)論 0 2
  • 東引甌越閱讀 2,037評(píng)論 0 51