Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗pyOpPdGt 13 of 174 menu
◀ ▶

Геттер через декоратор в ООП в Python

Пусть у нас есть следующий класс с приватными свойствами:

class User: def __init__(self, name, surn): self.__name = name self.__surn = surn

Как вы видите, эти свойства задаются один раз при создании объекта. Сейчас, однако, эти свойства невозможно прочитать, ведь они приватные и нет соответствующих способов для этого.

Давайте сделаем для наших данных свойства с декоратором property, позволяющие прочитать их снаружи:

class User: def __init__(self, name, surn): self.__name = name self.__surn = surn @property def name(self): return self.__name @property def surn(self): return self.__surn

Давайте проверим их работу. Создадим объект, параметром передав данные юзера:

user = User('john', 'smit')

Прочитаем эти данные через свойства:

print(user.name) print(user.surn)

В классе Employee сделайте три приватных свойства: имя, зарплату и возраст.

Передайте параметром конструктора значения этих свойств.

Сделайте так, чтобы имя, зарплату и возраст можно было прочитать снаружи.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить