Професионална програма
Loading...
+ Нов въпрос
ItsMomchilS avatar ItsMomchilS 28 Точки

04. Need for Speed - Inheritance Exercise - Python OOP

Здравейте, колеги имам следния въпрос: Как по-точно става да промениш DEFAULT_FUEL_CONSUMPTION когато "parent" e по различен от "child" ? Защото ми излиза винаги нещо, като например unexpected attribute или подобни неща. Благодаря ви предварително!

 

Това са условията на задачата:

Create the following hierarchy with the following classes: 

04. Need for Speed - Inheritance Exercise - Python OOP

 

 and submit in judge a zip file, containing a separate file for each of the classes using the structure shown below:
04. Need for Speed - Inheritance Exercise - Python OOP

Create a base class Vehicle. It should contain the following attributes:
⦁    DEFAULT_FUEL_CONSUMPTION – float (constant)
⦁    fuel_consumption – float
⦁    fuel – float
⦁    horse_power – int
⦁    A public constructor which accepts (fuel, horse_power) and set the default fuel consumption on the attribute fuel_consumption
The class should have the following methods:
⦁    drive(kilometers)
⦁    The drive method should have a functionality to reduce the fuel based on the travelled kilometers and fuel consumption. Keep in mind that you can drive the vehicle only if you have enough fuel to finish the driving.
The default fuel consumption for Vehicle is 1.25. Some of the classes have different default fuel consumption:
⦁    SportCar – DEFAULT_FUEL_CONSUMPTION = 10
⦁    RaceMotorcycle – DEFAULT_FUEL_CONSUMPTION = 8
⦁    Car – DEFAULT_FUEL_CONSUMPTION = 3
 

 

Тагове:
0
Python OOP
v.vasilev1 avatar v.vasilev1 2 Точки

Здравей колега. 

Аз видях лично 2 начина. Кога дефинираш 

self.fuel_consumption = Vehicle.DEFAULT_FUEL_CONSUMPTION така обаче до хардкорваш. 

 

Другият начин който проработи при мен 

self.fuel_consumption = self.DEFAULT_FUEL_CONSUMPTION

След като селфа не намери нищо във инстанцията ще го потърси в класа. Така няма нужда да го дефинираш на останалите класове и ще работи динамично.

Дано помогне

0