Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ООП_KAZYMYR.doc
Скачиваний:
14
Добавлен:
09.11.2019
Размер:
3.71 Mб
Скачать

3.4.Успадкування в Delphi

Особливості успадкування в Delphi полягають у наступному:

  1. Реалізується тільки просте успадкування, причому існує один базовий клас Object, що є присутнім у всіх класах:

TMyClass1= class (TObject);

TMyClass2= class; // за замовчуванням базовий клас Object

  1. Методи можуть перевизначатися, причому типи й число параметрів при перевизначені можуть розрізнятися. Поля даних не перевизначаються.

  2. Якщо усередині нового методу необхідно викликати заміщений метод, то використовується ключове слово inherited:

type TFirst = class

i: real;

procedure SetData(value: real);

end;

type TSecond = class

i: real;

s: string;

procedure SetData(str: string);

end;

implementation

procedure TFirst.SetData(value: real);

begin

i := value;

end;

procedure TSecond.SetData( str: string);

begin

inherited SetData(0.9);

s := str;

end;

  1. Для правильної ініціалізації полів даних при створенні об'єкта похідного класу потрібно в його конструкторі (відразу після входу в нього) викликати конструктор базового класу:

сonstructor TSecond.Create;

begin

Inherited Create; // виклик конструктора базового класу

end;

  1. Специфікатор доступу private приховує поля й методи базового класу від інших класів, у тому числі й від нащадків. Protected дозволяє використання полів і методів базового класу в нащадках, навіть якщо ті перебувають в іншому модулі.

  2. У класі-нащадку можна змінити видимість методів і властивостей базового класу:

type TFirst = class

private

FNumber: Integer;

protected

property Number: Integer read FNumber;

end;

type TSecond = class (TFirst)

published

property Number;

end;

3.4.1.Ієрархія класів в Delphi

Ф рагмент ієрархії класів в Delphi наведений на рис.3.6.

Рис. 3.6. Фрагмент ієрархії класів в Delphi

Наведені класи мають наступне призначення:

  1. TObject – визначає конструктор Create, деструктор Destroy і процедуру Free;

  1. TInitFile – визначає файли ініціалізації (*.ini), які управляють константами застосування;

  2. TPersistent – визначає “стійкий об'єкт”, що може бути збережений на диску. При компіляції він записується в exe-файл додатка, а при виконанні читається з exe-файлу;

  3. TPrinter – забезпечує видачу даних на печатку, тобто взаємодіє із зовнішніми пристроями комп'ютера;

  4. TGraphic – забезпечує видачу графічної інформації;

  5. TScreen – служить для визначення об'єкта CanVas;

  6. TApplication – клас, що визначає об'єкт додатка. Він визначає такі властивості:

  • property Title: string; {заголовок основного вікна додатка}

  • property Exename: string; {ім'я файлу, що виконує,}

  • property Icon: TIcon; {піктограму додатка}

  • procedure Run; {}

  1. TControl – елементи керування. У ньому визначаються такі властивості:

  • Caption {заголовок елемента}

  • Cursor {тип курсору}

  • Left {ліва координата}

  • Top{верхня координата}

  • Width {ширина}

  • Height {висота}

  • Visible {видимість}

  • procedure Show; {показати елемент}

  • procedure Hide; {сховати елемент}

  1. TWinControl – візуальні елементи керування.

Ієрархія, що починається з TControl, утворює Visual Component Library (VCL) – бібліотеку візуальних компонентів, на основі якої будується застосування.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]