Объектно-ориентированное программирование на C++

       

Полиморфизм


Слово полиморфизм греческого происхождения и означает "имеющий много форм". Полиморфизм - это свойство, которое позволяет одно и тоже имя использовать для решения нескольких технически разных задач. Применительно к ООП, целью полиморфизма, является использование одного имени для задания общих для класса действий. На практике это означает способность объектов выбирать внутреннюю процедуру (метод) исходя из типа данных, принятых в сообщении. Например, объект "Print" может получить сообщение, содержащее двоичное целое число, двоичное число с плавающей точкой или символьную строку. Имея дело с объектно-ориентированным языком, Вы вправе ожидать, что объект выполнит верные операции (или, по крайней мере, вежливо откажется от их выполнения) даже в случае, когда в момент составления программы возможность появления сообщения данного типа не предполагалась.

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

Полиморфизм в языке С++ применим к функциям и к операциям (имеются в виду операции типа +, ==, [ ] и др.).

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

ООП = ИНКАПСУЛЯЦИЯ + НАСЛЕДОВАНИЕ + ПОЛИМОРФИЗМ и, что особенно проявляется в последнее время, ПРОГРАММИРОВАНИЕ, УПРАВЛЯЕМОЕ СОБЫТИЯМИ.

[назад] [оглавление] [вперед]



Содержание раздела