делегирование против наследования Python - PullRequest
3 голосов
/ 10 марта 2011

Я только что натолкнулся на делегирование в python и не могу понять, в чем разница между делегированием и наследованием. Почему нужно использовать делегирование, а не наследование ??

Ответы [ 2 ]

4 голосов
/ 10 марта 2011

Делегирование - это мощный механизм, при котором вы делегируете задачу из одного класса в другой.Это имеет главное преимущество в том, что изменения в одном из ваших классов не будут каскадно переходить ни в какие другие.

Более того, если вы не понимаете этого принципа, ваши классы, вероятно, делают больше, чем должны.Под этим я подразумеваю, что вы заставляете один класс делать что-то, что, вероятно, лучше всего инкапсулировать в другой, и тогда вы можете использовать делегирование для того же.

1 голос
/ 10 марта 2011

Просто хотел добавить какой-нибудь ресурс: http://code.activestate.com/recipes/52295-automatic-delegation-as-an-alternative-to-inherita/

...