Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中从超类打印元素_Python_Class_Inheritance_Python 3.x - Fatal编程技术网

在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
的子类毫无意义。请不要这样滥用继承权。