Delegation (Делегирование)

21 Февраль 2010 Vitaliy Juravskiy 51

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

delegate class personПример множественного наследования.

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

delegate design pattern uml Пример делегирования.

В случае делегирования класс имеет набор объектов, исполняющих определенные роли.

Комментирование отключено.
blog comments powered by Disqus