Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Обзорная лекция по курсу ООП.docx
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
47.62 Кб
Скачать

7 Определение класса

Классом в Object Pascal называется структура, похожая на запись, которая может иметь в своем составе переменные, функции и процедуры. Переменные, в зависимости от предназначения, называются полями или свойствами. Процедуры и функции класса называются методами.

Поля объекта аналогичны полям записи. Это – данные, уникальные для ка­ждого созданного в программе экземпляра класса. Поля объекта являются переменными, объявленными внутри класса. Они предназначены для хранения данных во время работы экземпляра класса (объекта). Ограничений на тип полей в классе не предусмотрено.

Методы это процедуры и функции, описанные внутри класса и предна­значенные для операций над его полями и свойствами. При описании структуры класса указываются только заголовки методов (имя процедуры или функции, список передаваемых формальных параметров, тип функции) .

Свойства представляют собой атрибуты, которые составляют индивидуаль­ность объекта и помогают описать его. Например, обычная кнопка в окне приложения обладает такими свойствами, как цвет, размеры, положение. Для экземпляра класса "кнопка" значения этих атрибутов задаются при по­мощи свойств – специальных переменных, определяемых ключевым словом property.

Формат описания нового класса выглядит следующим образом:

type <имя-класса> = class(<имя-родительского-класса>)

<имя поля данных1>: <тип данных1>;

<имя поля данныхN>: <тип данныхN>;

procedure <имя метода 1>(<список параметров>);

function <имя метода 2>(<список параметров>) : <тип функции>;

procedure <имя метода L>(<список параметров>);

function <имя метода М>(<список параметров>) : <тип функции>;

end;

Имя родителя указывать необязательно, по умолчанию считается, что если имя родителя не указано, то класс непосредственно наследуется класса Tobject.

Чтобы использовать класс в программе, нужно, как минимум, объявить пе­ременную этого типа. Переменная объектного типа называется экземпляром класса, или объектом.

var

<имя экземпляра класса> : <имя класса>;

На втором этапе описываются тела методов внутри раздела реализации модуля (implementation), причем перед именем метода через точку указывается имя класса, а список параметров и тип функции можно опустить.

procedure <имя класса>.<имя метода 1>;

<описание локальных переменных, процедур и функций>;

begin

<операторы>

end;

Таким образом, структура модуля, содержащего описание класса, приблизительно выглядит следующим образом:

unit Unit1;

interface

uses

…..

type

<описание класса>; (1)

end;

var

<имя экземпляра класса> : <имя класса>;

implementation

procedure <имя класса>.<имя метода 1>;

<описание локальных переменных, процедур и функций>; (2)

begin

<операторы>

end;

end.

Кроме того, формат описания нового класса (1) включает в себя разделы реализации:

Type <имя объявляемого класса>=class(<имя родителя>)

private <скрытые элементы класса>

protected <защищенные элементы класса>

public <общедоступные элементы класса>

published <опубликованные элементы класса>

automated <элементы, реализующие OLE-механизм>

end;