и для других важных классов.
type
TObject = class;
TClass = class of TObject;
Аналогичные указатели уже описаны и для других важных классов. Вы можете использовать в своей программе TComponentClass, TControlClass
и т. п.
Указатели на классы тоже подчиняются правилам приведения объектных типов. Указатель на класс-предок может ссылаться и на любые дочерние классы; обратное невозможно:
type
TFirst = class
..
end;
TSecond = class(TFirst)
...
end;
TFirstClass = class of TFirst;
TSecondClass = class of TSecond;
var
AFirst : TFirstClass;
ASecond : TSecondClass;
begin
AFirst := TSecond; {допустимо}
ASecond := TFirst; {недопустимо}
end.
С указателем на класс тесно связано понятие методов класса. Такие методы можно вызывать без создания экземпляра объекта — с указанием имени класса, в котором они описаны. Перед описанием метода класса нужно поставить зарезервированное слово class:
type
TMyObject = class(TObject)
class function GetSize: string;
end;
var
MyObj ect: TMyObj ect;
AString: string;
begin
AString := TMyObject.GetSize;
MyObject := TMyObject.Create;
AString := MyObject.GetSize;
end.
Разумеется, методы класса не могут использовать значения, содержащиеся в полях класса: ведь экземпляра-то не существует. Возникает вопрос: для чего нужны такие методы?
Важнейшие методы класса определены в самом TObject: они как раз и позволяют, не углубляясь во внутреннюю структуру класса, извлечь оттуда практически всю необходимую информацию.
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий