Показать сообщение отдельно
Старый 18.09.2012, 22:21
Krusty вне форума Посмотреть профиль Отправить личное сообщение для Krusty Найти все сообщения от Krusty
  № 12  
Ответить с цитированием
Krusty

Регистрация: Jul 2007
Сообщений: 393
Цитата:
Сообщение от artcraft Посмотреть сообщение
полиморфизм это не наследование
хоть и тесно связаны

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

наследование это когда пудель расширяет более общее понятие собака, которое в свою очередь расширяет еще более общее понятие зверь
Если писать про полиморфизм в терминах собак, то выходит немного не так.
В данном случае полиморфизм-это "интерфейс" i_Жрать_Спать_Гадить, который реализуют класс Собака и класс Кошка. Соответственно, нам известно, что шарик(экземпляр класса Собака), может быть накормлен, так как реализует этот интерфейс i_Жрать_Спать_Гадить. Причем неважно, это шарик или мурка(экземпляр класса Кошка)- в обоих случаях он может быть накормлен. То есть вообще неважно, к какому классу принадлежит объект-главное наличие реализации i_Жрать_Спать_Гадить