应用:存放家具
#定义一个home类
classHome:
def__init__(self, area):
self.area = area#房间剩余的可用面积
#self.light = 'on' #灯默认是亮的
self.containsItem = []
def__str__(self):
msg ="当前房间可用面积为:"+ 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:已经存放到房间中")
else:
print("err:房间可用面积为:%d,但是当前要存放的物品需要的面积为%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
#创建一个新家对象
newHome = Home(100)#100平米
print(newHome)
#创建一个床对象
newBed = Bed(20)
print(newBed)
#把床安放到家里
newHome.accommodateItem(newBed)
print(newHome)
#创建一个床对象
newBed2 = Bed(30,'席梦思')
print(newBed2)
#把床安放到家里
newHome.accommodateItem(newBed2)
print(newHome)
总结:
·如果一个对象与另外一个对象有一定的关系,那么一个对象可用是另外一个对象的属性
网友评论