python:面向对象之实例

2017-05-26  本文已影响0人  西多的大叔

应用:存放家具

#定义一个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)

总结:

·如果一个对象与另外一个对象有一定的关系,那么一个对象可用是另外一个对象的属性

上一篇下一篇

猜你喜欢

热点阅读