Слово полиморфизм греческого происхождения и означает приблизительно "много форм" (poly – много, morphos – форма). Причем слово morphos имеет отношение к греческому богу сна Морфею (Morphus), который мог являться спящим людям в любой форме, в какой только пожелает, и, следовательно, был воистину полиморфным.
В биологии полиморфные виды – это те (наподобие человека), которые характеризуются наличием различных форм или расцветок.
В химии полиморфные соединения могут кристаллизоваться, по крайней мере, в двух различных формах. Например, углерод имеет две кристаллические формы – графит и алмаз.
То есть полиморфизм – это способность объектов в одной цепочке иметь одно имя и разные реализации.
С точки зрения реализации на объектно-ориентированном языке программирования полиморфизм – это способность отличить тип одного объекта от типа другого на этапе выполнения программы, даже если объекты обрабатываются универсальным образом, и компилятор не знает истинного типа каждого из них.
Полиморфизм подразумевает наличие виртуальных функций. Следовательно, класс, который имеет хотя бы одну виртуальную функцию, является полиморфным, а программа, создающая и использующая объекты такого типа, является объектно-ориентированной.
Таким образом, термины "полиморфизм" и "объектно-ориентированное программирование" могут рассматриваться в некотором роде как синонимы.
Ход работы:
Задание 1. Наберите и проанализируйте программу. Определите в данной программе принцип полиморфности созданных объектов. Объясните результаты выполнения программы.