|
|
|
| полиморфизмом по вики - один интерфейс(класс) множество реализаций.
наследование - возможность наследовать дочерними класами функциональность родителя, те тоже может быть один род класс и у него куча реализаций.
Кто может обьяснить нормально в чем разница между полиморфизмом и наследованием ? | |
|
|
|
|
|
|
|
для: asker
(17.03.2009 в 13:49)
| | При наследовании можем передаеть дочернему классу весь функционал базового, то есть все методы и свойства обьявленные в базовом классе будут и у дочернего. А с помощью полиморфизма мы можем расширить или переопределить фугкционал базового класса. Вроде как то так. А вообще на этом сайте есть статья посвященная ООП, так вот там очень подробно и доступно все расписано | |
|
|
|
|
|
|
|
для: asker
(17.03.2009 в 13:49)
| | Полиморфизм - это вид наследования, при котором вы наследникам диктуете интерфейс - они не могут менять его по своей прихоти, они вынуждены подчиняться интерфесу, который заложен в базовом классе. Это гарантирует, что все наследники будут обладать методами с одними и теми же названиями - т.е. их можно будет обрабатывать автоматически. | |
|
|
|
|
|
|
|
для: cheops
(17.03.2009 в 14:21)
| | так при наследовании все функции будут у дочернего класса и это тоже гарантирует что я смогу вызвать из дочернего класса любую родительскую функцию, зачем мне тогда полиморфизм ? | |
|
|
|
|
|
|
|
для: asker
(17.03.2009 в 16:13)
| | Полиморфи́зм (в языках программирования) — взаимозаменяемость объектов с одинаковым интерфейсом.
Язык программирования поддерживает полиморфизм, если классы с одинаковой спецификацией могут иметь различную реализацию — например, реализация класса может быть изменена в процессе наследования [1].
Кратко смысл полиморфизма можно выразить фразой: «Один интерфейс, множество реализаций».
Полиморфизм — один из четырёх важнейших механизмов объектно-ориентированного программирования (наряду с абстракцией, инкапсуляцией и наследованием).
Полиморфизм позволяет писать более абстрактные программы и повысить коэффициент повторного использования кода. Общие свойства объектов объединяются в систему, которую могут называть по-разному — интерфейс, класс. Общность имеет внешнее и внутреннее выражение. Внешне общность проявляется как одинаковый набор методов с одинаковыми именами и сигнатурами (типами аргументов и результатов). Внутренняя общность есть одинаковая функциональность методов. Её можно описать интуитивно или выразить в виде строгих законов, правил, которым должны подчиняться методы. Возможность приписывать разную функциональность одному методу (функции, операции) называется перегрузкой метода (функций, операций).
http://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D0%BB%D0%B8%D0%BC%D0%BE%D1%80%D1%84%D0%B8%D0%B7%D0%BC_%D0%B2_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B0%D1%85_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F | |
|
|
|