Muffin Projects
boosty
Techlog #3. Experimental. Basic concepts. Classes [ru]
🕑 Added 2023-06-01 14:02:25 +0000 UTCНебольшое дополнение к первой статье про классы в python.
Ранее был приведен пример того, как я присваиваю полю значение через метод, который сам же определил внутри класса. Как оказалось - это не особо Python-way.
В python как и в любом другом ООП языке есть встроенные методы по созданию getter и setter для полей внутри класса.
getter - метод для получения значения поля.
setter - метод для присваивания значения полю.
Я сразу же принялся рефакторить игру после того как узнал это.
Ранее был приведен пример того, как я присваиваю полю значение через метод, который сам же определил внутри класса. Как оказалось - это не особо Python-way.
В python как и в любом другом ООП языке есть встроенные методы по созданию getter и setter для полей внутри класса.
getter - метод для получения значения поля.
setter - метод для присваивания значения полю.
Я сразу же принялся рефакторить игру после того как узнал это.
@property - это наш getter.
@property_name.setter - это наш setter.
Ну и так как, в моём случае, Quest и QuestStep имеют практически идентичную структуру - всю логику я вынес в отдельный класс QuestEntity.
@property_name.setter - это наш setter.
Ну и так как, в моём случае, Quest и QuestStep имеют практически идентичную структуру - всю логику я вынес в отдельный класс QuestEntity.

