КАТЕГОРИИ: Архитектура-(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) |
Структура класу. Опис класу. Властивості та методи
Лекція 2 Тема: Інкапсуляція в Delphi. Навчальна мета: Розкрити поняття класу та об’єкту, визначити структуру класу, описати клас, розглянути методи класу на прикладах, перевантажуємі методи, розкрити області видимості елементів класу, навести Properti - властивості. План:
Технічні засоби навчання: · Мультимедійний проектор · Персональний комп’ютер Наочність: · Опорний конспект Міждисциплінарні зв’язки: Забезпечувані: основи програмування та алгоритмічні мови. Забезпечуючі: алгоритми та структури даних. Література: Основна:
Допоміжна:
Фаронов В.В. Turbo Pascal 7.0. Начальный курс. Учебное пособие. Издание 7-е, переработанное. – М.: «Нолидж», 2000. 1. Поняття класу та об'єкта. Класом називається опис деяких структур програми, що володіє набором внутрішніх змінних - властивостей, і функцій (процедур), що мають доступ до властивостей - методів. Процес об'єднання змінних і методів, в результаті якого і виходить клас, називається інкапсуляцією. Відзначимо відмінність в термінології Turbo Pascal і Delphi. У Pascal об’єктом називається структура, одержувана в результаті інкапсуляції. У Delphi такі структури називаються класами, а об'єкти - це екземпляри класів. Опис класів розділене на дві частини - інтерфейсну («заголовну») і описову. В інтерфейсній частині розташовується заголовок класу, в якому зазначаються назва класу, ідентифікує його в програмі, а також опис властивостей і заголовків методів. В описовій частині розташовується програмний код (реалізація) методів, заголовки яких зазначені в інтерфейсній частині опису класу. Інтерфейсна частина опису класу розташовується в розділах опису типів даних модулів і основних частин програм. Виглядає вона наступним чином: <Ім'я класу> = class (Тема опису) <Ім'я Властивості 1>: <Тип Властивості 1>; Опіс Властивості 1) <Ім'я Властивості N>: <Тип Властивості N>; (Опіс Властивості N) Тема методу 1>; (Опіс методу 1) Тема методу М>; (Опіс методу М) End; Описова частина класу знаходиться в розділі опису локальних підпрограм. Методи, заявлені в інтерфейсній частини реалізуються за звичайними правилами опису процедур і функцій. Для зв'язку підпрограм з класом, методами якого вони є, назва класу вказується перед ім'ям самої підпрограми: - Procedure <Ім'я класу>. <Ім'я методу> (<Список параметрів>); або для методів-функцій: Function <Ім'я класу>. <Ім'я методу> (<Список параметрів>): <Тип значення>; Відмінність методів від звичайних процедур і функцій полягає в тому. що вони можуть звертатися до властивостей класів на ім'я без вказівки обьектов. На єтапе виконання програми такі звернення будуть перенаправлені до властивостей об'єктів, з яких викликаються відповідні методи. Лістинг 2.1. Опис модуля, що містить опис класу Unit UsingClassaa; Interface Type Tear = class (Заголовок класу містить його назву Tear) Mark: AnsiString; (Опис текстової властивості Mark для зберігання марки автомобіля) EngineVoltane: Double; (Опис речової властивості для зберігання об’єму двигуна) Fuel: Double; (Опис речової властивості для зберігання обсягу палива) Function StartEngine: Boolean; (Заголовок функції-метода “Запустити двигун"> Procedure StopEngine, (Заголовок процедури-метода "Зупинити двигун" Procedure AddFuel(NewFuel: Double); (Заголовок процедури-метода "Заправити паливом" Implementation Function TCar.StartEngine: Boolean; begin Result:= (Fuel>0); end; (Опис метода StartEngine. В якості результату повертається значення логічного виразу (Fuel>0)} Function TCar.StopEngine: begin end; (Опис метода StopEngine, що не виконує ніяких дій) Procedure AddFuel(NewFuel: Double); (Опис метода AddFuel) begin Fuel:= Fuel + NewFuel; (Збільшення значення властивості Fuel на величину, передану в якості параметра NewFuel при виклику метода) end; End. (Закінчення модуля' Звернемо увагу на використання властивостей Fuel в методі AddFuel. Метод AddFuel, який є частиною опису класу TCar, звертається до даного властивості по імені, хоча на етапі створення класу і невідомо, якому саме екземпляру буде належати змінюване властивість. Однак точно відомо, що кожен екземпляр має властивість Fuel, причому об'єкт, з якого викликаний мегод AddFuel, також може бути визначений системою. При виклику методу АсісіРіеІІЗ-якого екземпляра класу TCar в якості змінюваного властивості Fuel автоматично буде вибрано те, яке належить цьому ж екземпляру.
Дата добавления: 2014-01-04; Просмотров: 2839; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |