美文网首页
python:面向对象之实例

python:面向对象之实例

作者: 西多的大叔 | 来源:发表于2017-05-26 21:34 被阅读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)

    总结:

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

    相关文章

      网友评论

          本文标题:python:面向对象之实例

          本文链接:https://www.haomeiwen.com/subject/nwzxfxtx.html