Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Сумісність об'єктів.

Лекція 4

ЦЕНТРАЛЬНА СПІЛКА СПОЖИВЧИХ ТОВАРИСТВ УКРАЇНИ

(УКООПСПІЛКА)

Кіровоградський кооперативний коледж економіки і права імені М.П. Сая

 

 

Розглянуто та затверджено на засіданні

циклової (предметної) комісії комп’ютерних технологій

Протокол № 1 від «28»серпня 2012 р.

Голова циклової комісії

___________________ С. В. Сорокун

Спеціальність: 5.05010301 "Розробка програмного забезпечення" Курс IІI

Дисципліна: "Об’єктно-орієнтовне програмування"

Тема: Поліморфізм в Delphi.

Навчальна мета: Розкрити поняття поліморфізму, визначити сутність об’єктів, визначити належності до класів та привести типи об’єктів на прикладах.

План:

  1. Сумісність об’єктів.
  2. Визначення належності до класу та приведення типів об’єкту.

Технічні засоби навчання:

· Мультимедійний проектор

· Персональний комп’ютер

Наочність:

· Опорний конспект

Міждисциплінарні зв’язки:

Забезпечувані: основи програмування та алгоритмічні мови.

Забезпечуючі: алгоритми та структури даних.

Література:

Основна:

  1. Delphi 7. Учебный курс./Под ред. С.И. Бобровского. – СПб.: Питер, 2003
  2. Архангельский А.Я. Программирование в Delphi 7. – М., 2004.
  3. Фаронов В.В. Delphi. Программирование на языке высокого уровня. – СПб., 2004.

Допоміжна:

  1. Архангельский А.Я. Object Pascal в Delphi 5. – М. БИНОМ. 1999.

Фаронов В.В. Turbo Pascal 7.0. Начальный курс. Учебное пособие. Издание 7-е, переработанное. – М.: «Нолидж», 2000.


Очевидно, що при спадкуванні класів один від одного кількість властивостей і методів збільшується від класу до класу (або, як мінімум, не зменшується). Всі об'єкти деякого класу можуть мати доступ до методів і властивостей, реалізованих в тих класах, від яких він успадкував. У результаті такої властивості об'єктів з'являється теоретична можливість привласнити змінної-посиланню на екземпляр класу реальну си лан-ку на екземпляр іншого класу. Причому прісваіваемьій обьект повинен бути екземпляром класу, що знаходяться нижче по ієрархії, ніж той, який був вказаний при описі змінної.

На рис. 5.1 представлені класи, що утворюють ієрархію. Один з класів - Клас А є батьківським для всіх інших відповідно, якщо деяка змінна описана як посилання на екземпляр Клас А, то насправді вона може вказувати ще й на Клас Б, і на Клас В.


Рисунок 4.1. Сумісність об’єктів

 

Як і всі об’єктно-орієнтовані мови програмування, Delphi підтримує властивість поліморфізму об'єктів при спадкуванні, яке полягає в правильному виборі віртуального методу, що викликається із змінної-посилання на об'єкт. Незалежно від того, на екземпляр якого класу вказує змінна-посилання у відповідності із своїм описом, буде викликаний віртуальний метод, описаний у класі, на який реально вказує посилання, а не його версія, описана в класі, зіставленому типом посилальної змінної.

Розглянемо (лістинг 5.16), наприклад, класи TLine і TCircle, що є спадкоємцями класу TGeomFigure і переобумовленої віртуальним методом Draw, щоб надати йому функціональність, необхідну для виведення кожної



 

конкретної геометричної фігури. Опишемо змінну, яка є посиланням на екземпляр класу TGeomFigure і присвоїмо їй посилання на екземпляр класу TLine.

Така операція можлива, так як клас TLine є спадкоємцем класу TGeomFigure. При виклику методу Draw даної змінної цей метод буде викликаний в тому вигляді, як він описаний у класі TLine, а не в класі TGeomFigure. У цьому і виражається gоліморфізм (багатоформеність) об’єктів, що знаходяться в одній ієрархії.

Властивість поліморфізму підтримується за допомогою так званого пізнього зв'язування (що відбувається під час виконання програми) змінних-екземплярів з методами, на відміну від раннього зв'язування (на етапі компіляції).

<== предыдущая лекция | следующая лекция ==>
Порядок оцінки надійності захисту виробничого персоналу | Оператор is
Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 229; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.