python:面向对象之实例

应用:存放家具

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

总结:

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容