在python中从超类打印元素
嗨,我有下面的超级班在python中从超类打印元素,python,class,inheritance,python-3.x,Python,Class,Inheritance,Python 3.x,嗨,我有下面的超级班 class Room: def __init__(self,building,floor,number): self.building=building self.floor=floor self.number=number def __str__(self): return (str(self.building)+'.'+str(self.floor)+'.'+str(self.number)
class Room:
def __init__(self,building,floor,number):
self.building=building
self.floor=floor
self.number=number
def __str__(self):
return (str(self.building)+'.'+str(self.floor)+'.'+str(self.number))
和下面的子类
class Occupant(Room):
def __init__(self,familyname,givenname,building,floor,number):
self.familyname=familyname
self.givenname=givenname
Room.__init__(self,building,floor,number)
def __str__(self):
return (str(self.familyname)+', '+str(self.givenname)+......)
子类如何从超类打印元素。当我从类中打印对象时,我应该添加到(…)以获得正确的输出。谢谢一个
居住者
似乎是一个人,而房间
是一个位置。
如果是这样,那么说居住者是房间的一种类型是没有意义的。所以乘员
不应该是房间
的子类。相反,居住者有一个房间
:
class Room:
def __init__(self, building, floor, number):
self.building = building
self.floor = floor
self.number = number
def __str__(self):
return (str(self.building)+'.'+str(self.floor)+'.'+str(self.number))
class Occupant:
def __init__(self, familyname, givenname, room):
self.familyname = familyname
self.givenname = givenname
self.room = room
def __str__(self):
return '{f}, {g} -- {r}'.format(f = self.familyname, g = self.givenname, r = self.room)
room = Room('Building', 'Floor', 'Num')
occ = Occupant('Family', 'Given', room)
print(occ)
# Family, Given -- Building.Floor.Num
居住者
似乎是一个人,而房间
则是一个位置。
如果是这样,那么说居住者是房间的一种类型是没有意义的。所以乘员
不应该是房间
的子类。相反,居住者有一个房间
:
class Room:
def __init__(self, building, floor, number):
self.building = building
self.floor = floor
self.number = number
def __str__(self):
return (str(self.building)+'.'+str(self.floor)+'.'+str(self.number))
class Occupant:
def __init__(self, familyname, givenname, room):
self.familyname = familyname
self.givenname = givenname
self.room = room
def __str__(self):
return '{f}, {g} -- {r}'.format(f = self.familyname, g = self.givenname, r = self.room)
room = Room('Building', 'Floor', 'Num')
occ = Occupant('Family', 'Given', room)
print(occ)
# Family, Given -- Building.Floor.Num
绝对正确!非常感谢在1分钟内我点击作为正确的绝对正确!非常感谢我在1分钟内点击,因为正确的居住者作为房间的子类
毫无意义。请不要这样滥用继承。Occompant
作为room
的子类毫无意义。请不要这样滥用继承权。