сторінка 1
Лабораторна робота №3.
Вивчення принципу поліморфізму.
У мовах програмування поліморфний об'єкт - це сутність (змінна, аргумент функції), що зберігає під час роботи програми значення різних типів. Поліморфні змінні - це ті змінні, динамічний тип яких відрізняється від статичного типу (оголошеного). Поліморфні функції - це ті функції, які мають поліморфні аргументи.
У ГО - мовами програмування поліморфізм є природним наслідком наступних їх властивостей:
Відносини «бути екземпляром»;
Механізму передачі повідомлення;
успадкування;
Принципу підстановки.
Одне з найважливіших достоїнств ГО - підходу полягає в можливості комбінування цих властивостей.
Чистий поліморфізм має місце, коли одна і та ж функція застосовується до аргументів різних типів. В цьому випадку є один код, але кілька його інтерпретацій.
Інша форма поліморфізму називається перевантаженням і полягає в наявності безлічі різних функцій, т. Е. Кодів, з одним і тим же ім'ям. Між цими полюсами знаходяться переобумовленої і відкладені методи.
Поліморфні змінні.
Поліморфізм в ГО - мовами програмування можливий тільки за рахунок існування поліморфних змінних. Поліморфна змінна містить значення, що відносяться до різних типів даних. Поліморфні змінні реалізують принцип підстановки. Іншими словами: хоча для такої змінної і є очікуваний тип даних, фактичний тип може бути підтипом очікуваного типу.
Дуже багато програм базуються на динамічних структурах даних, таких, як списки, дерева, словники і т. П. Ці структури є досить типовими і можуть багаторазово використовуватися. Зокрема, з їх допомогою можна маніпулювати динамічними об'єктами, розміщеними в стандартному пулі. Такі маніпуляції природно виконувати за допомогою покажчиків.
Мал. 1 Приклад структури контейнерного класу.
Вивчення принципу поліморфізму
32.31kb. 1 стор.
Застосування принципу Діріхле. Теорем Ердеша-Секереша про монотонної підпослідовності. Теорема Діріхле про наближення ірраціональних чисел раціональними
9.96kb. 1 стор.