Categories
//Процесс делегирования в Python
Процесс делегирования в Python
Делегирование – это объектно-ориентированный подход, также называемый паттерном проектирования.
Предположим, у вас есть объект x, и вы хотите изменить поведение только одного из его методов. Вы можете создать новый класс, предоставляющий новую реализацию метода, который вы хотите изменить, и делегирующий все остальные методы соответствующим методам объекта x. В примере показан класс, охватывающий поведение файла и преобразующий данные из нижнего в верхний регистр:
class upcase: def __init__(self, out): self._out = out def write(self, s): self._outfile.write(s.upper()) def __getattr__(self, name): return getattr(self._out, name)
Метод write() в классе upcase конвертирует строку из нижнего в верхний регистр до вызова другого метода. Собственно сама делегация осуществляется за счет использования объекта self._out.
- Проходите тест по Python и поймите, готовы ли вы идти на курсы
- 34 views
- 0 Comment