面向对象的应用——存放家具
此段程序主要内容如下:
先创建一个Home类和一个Bed类,然后用Home类创建fangzi对象,用Bed类创建家具bed1对象和box对象,在fangzi对象中存放bed1和box对象,其应用的重点在于一个对象对另一个对象的调用
原代码如下:
class Home:
def __init__(self,new_mianji,new_huxing,new_dizhi):
self.mianji = new_mianji
self.huxing = new_huxing
self.dizhi = new_dizhi
self.shengyu_mianji = new_mianji
self.jiaju = []
def __str__(self):
wupin = "房子面积:%d平米, 剩余面积:%d平米, 户型:%s, 地址:%s, "%(self.mianji,self.shengyu_mianji,self.huxing,self.dizhi)
wupin += "房子所放的家具:%s"%(str(self.jiaju))
return wupin
def add_jiaju(self,jiaju):
#self.shengyu_mianji -= jiaju.mianji
#self.jiaju.append(jiaju.name)
self.shengyu_mianji -= jiaju.gat_mianji()
self.jiaju.append(jiaju.gat_name())
class Bed:
def __init__(self,new_name,new_mianji):
self.name = new_name
self.mianji = new_mianji
def __str__(self):
return "%s占用的面积是:%d平米,"%(self.name,self.mianji)
#对应17行
def gat_name(self):
return self.name
#对应18行
def gat_mianji(self):
return self.mianji
fangzi = Home(100,"三室两厅","北京市长安街")
print(fangzi)
bed1 = Bed("双人床",4)
print(bed1)
fangzi.add_jiaju(bed1)
print(fangzi)
box = Bed("衣柜",3)
print(box)
fangzi.add_jiaju(box)
print(fangzi)
运行结果如下
房子面积:100平米, 剩余面积:100平米, 户型:三室两厅, 地址:北京市长安街, 房子所放的家具:[]
双人床占用的面积是:4平米,
房子面积:100平米, 剩余面积:96平米, 户型:三室两厅, 地址:北京市长安街, 房子所放的家具:['双人床']
衣柜占用的面积是:3平米,
房子面积:100平米, 剩余面积:93平米, 户型:三室两厅, 地址:北京市长安街, 房子所放的家具:['双人床', '衣柜']
好好学习,天天向上!