QueenSvetlana Wrote:I would need to use my getters, would providing a getter forAs mention over Python Is Not Java
Quote:Getters and setters are evil. Evil, evil, I say! Python objects are not Java beans.
Do not write getters and setters.
This is what the 'property' built-in is for. And do not take that to mean that you should write getters and setters, and then wrap them in 'property'.
That means that until you prove that you need anything more than a simple attribute access,
don't write getters and setters.
They are a waste of CPU time, but more important, they are a waste of programmer time.
Not just for the people writing the code and tests, but for the people who have to read and understand them as well.
Car should usually be first and Tire a subclass.
Example:
class Car: def __init__(self, id, name, type): self.id = id self.name = name self.type = type def __str__(self): return "ID: {0} Name: {1} Type: {2} Tire: {3} Engine: {4} ".\ format(self.id, self.name, self.type, self.tire, self.engine) class Tire(Car): def __init__(self, id, name, type, tire, engine): super().__init__(id, name, type) self.tire = tire self.engine = engineUse:
Output:>>> car = Tire(100, 'Opel', 'Astra', 'Goodyear', 1.9)
>>> car.type
'Astra'
>>> car.id
100
>>> car.tire
'Goodyear'
>>> print(car)
ID: 100 Name: Opel Type: Astra Tire: Goodyear Engine: 1.9