Отчет по практике: Основы программирования в среде Delphi

procedure p1; virtual;

procedure p1; reintroduce; virtual;

end;

var

x:a;

x:=b.create;

x.p1; x.p2; x.p3; x.p4; x.p5;

В производном классе b процедуре р1 переопределяет виртуальный метод на простой (выдается предупреждение о том, что доступ к соответствующему методу предка закрыт), процедура р2 делает то же самое, но предупреждение не выдается, процедура р3 переопределяет виртуальный метод традиционным способом (для обеспечения полиморфизма), р4 начинает новое семейство виртуальных методов (доступ к методу предка закрывается, выдается предупреждение), и, наконец, процедура р5 делает то же самое, что и р4, но предупреждение не выдается.

При вызове этих методов для объекта производного класса через указатель на базовый класс метод потомка вызывается только в случае x.p3. Свойства (доступ к которым обеспечивается через вкладку properties инспектора объектов) служат для организации доступа к полям класса. Как правило, свойство связано с полем класса и определяет методы его получения и установки. Упрощенно определение свойства выглядит так:

property имя: тип

[read имя_метода_или_поля] {метод получения}

[write имя_метода_или_поля] {метод устанвки}

Например:

type

a = class

private FSize: word;

function GetSize:word;

procedure SetSize(x_:word);

property Size:word read GetSize write SetSize;

end;

Здесь свойство Size определяет интерфейс доступа к полю FSize. Если установка или получение значения поля запрещены, соответствующие части определения опускают. Метод записи обычно содержит действия по проверке допустимости устанавливаемого значения, метод чтения может содержать, например, поддержку счетчика обращений к полю. Если никаких дополнительных действий не требуется, после read или write вместо имени метода может указываться просто имя поля.

В программе свойство выглядит как поле класса, например:

var

x:a;

x:=100;

При обращении к свойству автоматически вызываются указанные в нем методы чтения и установки.

К-во Просмотров: 962
Бесплатно скачать Отчет по практике: Основы программирования в среде Delphi