16.2 Полиморфизм
При составлении больших программ, например, при совместной работе коллектива разработчиков, могут появляться функции с одинаковыми именами. Кроме того, часто удобно иметь одно имя для функций с разными типами аргументов , например, exp(x) и exp(z) для вещественного значения x и комплексного значения z .
Как указывалось в разделе 14.3, п о л и м о р ф и з м - это правила использования функций с одинаковыми именами для разных целей.
Слово полиморфизм можно трактовать как "многоформенность", многообразие.
( по-гречески μορφη = форма ). Например, графит и алмаз полиморфны, т.к. имеют
одинаковый химический состав, но разный вид и разные свойства.
В ООП полиморфизм реализуется несколькими способами, в которых используются
перегрузка функций, перегрузка операторов, виртуальные функции, шаблоны. Эти разделы ООП сложны и кратко рассмотрим лишь некоторые возможности.
Виртуальную функцию использовали в предыдущем разделе.
В случаях, когда функции с одинаковыми именами находятся в разных классах,
используется полное имя метода для конкретного объекта, например,
obmy.Ma1 :: fmet(z) ;
для примера рис. 14.3.
- 10.3 Операторы управления
- 10. 4 Оператор мультиветвления switch
- 10.6 Применение функции printf для форматирования
- 11.1 Графические программы
- 11.2 Построение символьного графика
- 11.4 Построение графика в графическом режиме
- 12.1 Передача данных для построения графика в MathCad
- 12.4 Указатели
- 12.5 Описание указателей
- 12.6 Указатели для массивов и строк
- 13.3 Оператор динамического выделения памяти new
- Void main ( ) {
- Void tab( ); };
- Void main ( ) {
- 15.1 Класс объектов, элементы класса
- 15.2 Доступ к элементам класса
- 15.3 Вызов элементов класса
- 15.4 Конструкторы классa
- 15.5 Пример класса Tkplk
- 16.1 Наследование
- 16.2 Полиморфизм
- 16.3 О перегрузке функций и операций
- 17. 1 Среда программирования и библиотека vcl
- 17.2 Консольное приложение в Builder
- При выполнении лабораторных работ в дисплейном классе используется
- 17.5 Вид экрана в builder
- 17.6 Работа с проектом в системе Builder
- 18.1 Редактор кода
- 18.4 Пример запроса, ввода, вывода для Win -программы