通过创建实例作为属性,我可以从Electric Car类访问Car类的任何方法。有人可以深入解释吗?

问题描述 投票:1回答:1
class Car:
    def range(self):
        pass

class ElectricCar:
    def __init__(self, model):
        self.model = model 
        self.car = Car()  # <--Explain this one!

electric_car = ElectricCar('Tesla')
electric_car.car.range()  # <---Calling method of Car class

通过创建实例作为属性,我可以从Electric Car类访问Car类的任何方法。任何人都可以深入解释这些吗?

python attributes instance access
1个回答
0
投票

与创建ElectricCar()类的实例的方式相同。但是,您正在另一个类中为Car类创建对象。因此self.car是Car类的一个实例。因此,为了在Car类中调用该方法,您必须使用self.car.range()-在这里self被称为父类(即electric_car)的实例。因此您将范围方法称为electric_car.car.range()

© www.soinside.com 2019 - 2024. All rights reserved.