I'm attempting to understand Python inheritence and below class CarWithBrakes inherits from class Car :
class Car :
def __init__(self , wheels):
self.wheels = wheels
self.jsonTransform = {}
self.jsonTransform['wheels'] = wheels
def toJson(self):
return self.jsonTransform
def get_wheels(self):
return self.wheels
class CarWithBrakes(Car):
def __init__(self , car, brakes):
self.car = car
self.brakes = brakes
def toJson(self):
self.jsonTransform = {}
self.jsonTransform['wheels'] = self.car.wheels
self.jsonTransform['brakes'] = self.brakes
return self.jsonTransform
c = Car("wheels")
print(c.toJson())
b = CarWithBrakes(c , "brakes")
print(b.toJson())
print(b.get_wheels())
Running this code produces:
{'wheels': 'wheels'}
{'wheels': 'wheels', 'brakes': 'brakes'}
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-62-9b4b5598414b> in <module>
30 b = CarWithBrakes(c , "brakes")
31 print(b.toJson())
---> 32 print(b.get_wheels())
<ipython-input-62-9b4b5598414b> in get_wheels(self)
11
12 def get_wheels(self):
---> 13 return self.wheels
14
15 class CarWithBrakes(Car):
Shouldn't wheels attribute be available as CarWithBrakes inherits from Car?