Студопедия

КАТЕГОРИИ:


Архитектура-(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 - властивості.

План:

  1. Поняття класу та об’єкту.
  2. Структура класу. Опис класу.
  3. Методи класу.
  4. Properti-властивості..

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

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

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

Наочність:

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

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

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

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

Література:

Основна:

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

Допоміжна:

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

Фаронов В.В. 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 приведений приклад опису модуля, що містить опис класу.

Лістинг 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; Нарушение авторских прав?; Мы поможем в написании вашей работы!


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



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




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