Повторное использование за счет наследования упрощает создание новых компонентов, которые можно было бы применять со старыми. Поэтому наследование и композиция часто используются вместе.
Динамическое связывание означает, что отправка некоторого запроса не определяет никакой конкретной реализации до момента выполнения. Следовательно, возможно написать программу, рассчитанную на объект с конкретным интерфейсом, точно зная, что любой объект с подходящим интерфейсом сможет принять этот запрос. Более того, динамическое связывание позволяет во время выполнения подставить вместо одного объекта другой, если он имеет идентичный интерфейс. Такая взаимозаменяемость называется полиморфизмом
Динамическое связывание означает, что отправка некоторого запроса не определяет никакой конкретной реализации до момента выполнения. Следовательно, возможно написать программу, рассчитанную на объект с конкретным интерфейсом, точно зная, что любой объект с подходящим интерфейсом сможет принять этот запрос. Более того, динамическое связывание позволяет во время выполнения подставить вместо одного объекта другой, если он имеет идентичный интерфейс. Такая взаимозаменяемость называется полиморфизмом
Он позволяет создавать иерархию классов, в которой некоторые подклассы определяют примитивные объекты (например, Button — кнопка), а другие — составные объекты (CompositeView), группирующие примитивы в более сложные структуры.
Он позволяет создавать иерархию классов, в которой некоторые подклассы определяют примитивные объекты (например, Button — кнопка), а другие — составные объекты (CompositeView), группирующие примитивы в более сложные структуры.