Python的基本继承

这个问题在这里已经有了答案:

  • 用__init __()方法理解Python super()7个答案

  • 你可以调用Car init方法并传递它的参数

    class ElectricCar(Car):
        def __init__(self, model, color, mpg, battery_type):
            Car.__init__(self,model,color,mpg)
            self.battery_type = battery_type
    

    或者您也可以使用评论中提到的优先方法的super方法。

    class ElectricCar(Car):
        def __init__(self, model, color, mpg, battery_type):
            super(ElectricCar,self).__init__(model, color, mpg)
            self.battery_type = battery_type
    

    那里的遗产在哪里?

    继承关系在于你可以用这些类来做什么:

    >>> car = Car('Ford Prefect', 'white', 42)
    >>> print(car.display_car())
    This is a white Ford Prefect with 42 MPG.
    >>> electric_car = ElectricCar('Tesla Model S', 'silver', None, 'lead-acid')
    >>> print(electric_car.display_car())
    This is a silver Tesla Model S with None MPG.
    

    请注意,您不必编写ElectricCar.display_car()方法。


    如果你只是继承对象类,你说的基本上是创建一个新类 - 它只是提供了一个基础。 事实上,在Python 3.X中,这根本不需要。 定义类似

    class Car:
        def __init(self, ...
    

    并且对象继承不言而喻。

    你正在使用它的正确轨道。 继承的真正威力在于构建其他预定义的类,例如从Car继承的ElectricCar,通过以下定义:

    class ElectricCar(Car):
        super(ElectricCar, self).__init__()
        ...
    

    这给你的Car类的功能,而不必重新定义一切。

    查看有关继承的文档,了解更多详细信息。

    链接地址: http://www.djcxy.com/p/30037.html

    上一篇: Python basic inheritance

    下一篇: What is the use of super(ClassName,self).