用父类的实例初始化子类

2024-06-06 09:27:49 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有一节课:

^{1}$

。。。(以此类推)

现在我想初始化一个子类Employee,它扩展person。我想用Person类的实例初始化该类。所以我想:

^{pr2}$

这样我就可以打电话给:

p1 = Person('Bob', ['Bowling', 'Skiing'])
employed_p1 = Employee(p1, 1000)

有什么方法可以做到这一点,还是必须再次显式调用父类的构造函数?在

非常感谢!在


Tags: 实例方法employee子类personbobbowlingp1
1条回答
网友
1楼 · 发布于 2024-06-06 09:27:49

我想你想要这样的东西:

class Person(object):

    def __init__(self, name, hobbies):
        self.name = name
        self.hobbies = hobbies
    def display(self):
        print(self.name+' '+self.hobbies[0])

class Employee(Person):
    def __init__(self, a, b =None,salary=None):
        if b is None:
            self.person = a 
        else:
            self.person = Person(a,b)
        self.name = self.person.name
        self.hobbies = self.person.hobbies
        self.salary = salary


bob = Employee('bob',['Bowling', 'Skiing'])
bob.display()

sue1 = Person('sue',['photography','music'])
sue2 = Employee(sue1,salary=123)
sue2.display()

我添加了'display'函数,以便更容易理解。希望这有帮助。在

相关问题 更多 >