类和子类Python

时间:2015-12-24 18:04:16

标签: python python-3.x subclass

我正在尝试学习类和子类。所以,我从这开始......

class Class1:

    def __init__(self, name):
        self.name = name
        self.valx = "With Class1"


    def __repr__(self):
        return "Result: %s - %s " % (self.name, self.valx)


option1 = Class1("Paul")
print(option1)

结果:保罗 - 使用Class1

但是现在,我想使用子类并将valx的值设置为With Class1或With Class2相对于Class或Subclass。

我想要达到或获得此

option1 = Class1("Paul")
print(option1)

结果:保罗 - 使用Class1

option2 = Class2("Paul")
print(option2)

结果:保罗 - 使用Class2

我的想法是添加

class Class2(Class1):
    self.valx = "With Class2"

但我没有工作,我正在尝试所有我的想法,没有结果。 有人可以帮帮我吗?

记住我在学习! 节日快乐!

1 个答案:

答案 0 :(得分:2)

您必须覆盖__init__中的Class2方法:

class Class2(Class1):

    def __init__(self, name):
        super().__init__(name) # call __init__ of super class
        self.valx = "With Class2"