У нас есть 2 способа изменить состояние объекта
Мы создаем метод в классе и вызываем его для изменения состояния.пример
class Car:
def __init__(self, color):
self.car_color = color
# this method may have complex logic of computing the next color. for simplicity, I created this method just like a setter.
def change_color(self, new_color):
self.car_color = new_color
Или мы можем передать объект класса методу и изменить состояние.пример
class Car:
def __init__(self, color):
self.car_color = color
# these are just getters and setter and wont have complicated logic while setting color.
def set_color(self, new_color):
self.car_color = new_color
def get_color(self):
return self.car_color
# this method will have all the complicated logic to be performed while changing color of car.
def change_color(car_object, new_color):
car_object.set_color(new_color)
Какой из вышеперечисленных подходов лучше в терминах объектно-ориентированного программирования?Я делал второй подход все время, но теперь меня немного смущает вопрос, какой из них лучше.