Метод и Описание

сlass function ClassName:ShortString

Возвращает имя класса

сlass function ClassNameIs(const Name:ShortString):Boolean

Принимает значение True, если имя класса равно заданному

сlass function ClassParent:tClass

Возвращает указатель на родительский класс

сlass function ClassInfo:pointer

Возвращает указатель на структуру с дополнительными данными об опубликованных методах и свойствах.

сlass function InstanceSize:Longint

Возвращает размер экземпляра класса

сlass function InheritsFrom (aClass: tClass):Boolean

Возвращает True, если данный класс наследует от заданного

сlass function MethodAddress(const Name:ShortString):Pointer

Возвращает адрес метода по его имени (только для опубликованных методов)

сlass function MethodName (Addres: pointer):ShortString

Возвращает имя метода по его адресу (только для опубликованных методов)

В Delphi 4 в класс tObject добавлены еще два виртуальных метода - AfterConstruction и BeforeDestruction. Как следует из названия, они вызываются сразу после создания экземпляра объекта и непосредственно перед уничтожением.

Перегрузка методов

В Delphi 4 появилась новая разновидность методов - перегружаемые. Перегрузка нужна для того, чтобы произвести одинаковые или похожие действия над разнотипными данными. Перегружаемые методы описываются с ключевым словом overload.

Type

tFirstClass=class

E:extended;

procedure SetData(aValue: Extended); overload;

end;

tSecondClass=class(tFirstClass)

I:integer;

procedure SetData(aValue: Integer); overload;

end;

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

Для перегрузки виртуального метода используется зарезервированное слово reintroduce:

procedure SetData(aValue:string); reintrouce;overload;

На перегрузку методов накладывается ограничение: нельзя перегружать методы, находящиеся в области видимости published.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: