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

Защищенные методы в ООП в Python

В Python принято помечать методы, которые не должны вызываться снаружи класса, одним подчеркиванием в начале имени. Такие методы наследуются, но снаружи их не вызывают.

Давайте посмотрим, как это работает. Напишем класс-родитель с таким методом:

class User: def set_name(self, name): self.name = name def get_name(self): return self._cape(self.name) def _cape(self, string): return string[0].upper() + string[1:]

Воспользуемся этим методом в классе-потомке:

class Student(User): def set_surn(self, surn): self.surn = surn def get_surn(self): return self._cape(self.surn)

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

class User: def set_name(self, name): if self.not_empty(name): self.name = name def get_name(self): return self.name def not_empty(self, string): return len(string) > 0 class Employee(User): def set_surn(self, surn): if self.not_empty(surn): self.surn = surn def get_surn(self): return self.surn
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить