Зміст курсу
In-Depth Python OOP
In-Depth Python OOP
4. Polymorphism and Abstraction
@property
@property
is a decorator that modifies the method inside a class to the class property.
To create the property, you should create a method with the @property
decorator above.
In the example above, you can see a cinema hall that has attributes rows
and seats_in_row
. The capacity
property returns the total number of seats in the hall. It wouldn't make sense to create a separate attribute capacity
because if we change the number of rows
, we would have conflicting values. Specifically, no actions are performed with the class; only one of the hall's properties is returned.
Properties should have a specific logic: they should return a certain attribute of the class, unlike methods that are used to perform specific actions with the class.
Все було зрозуміло?