Описание тега class-helpers
Расширяет существующие классы / записи в Delphi без использования наследования. Помощники классов также предоставляют более широкую область действия компилятору при разрешении идентификаторов. Синтаксис был введен в Delphi 2005.
Расширяет существующие классы / записи в Delphi без использования наследования. Помощники классов также предоставляют более широкую область действия компилятору при разрешении идентификаторов. Синтаксис был введен в Delphi 2005.
Для занятий используйте class helper for TMyClass
,
Для записей используйте record helper for TMyRecord
,
Пример:
раздел 1:
type
TMyClass = class
strict private
fStrictPrivate : integer;
strict protected
fStrictProtected : integer;
public
procedure MyProc;
function MyFunc : string;
end;
{ TMyClass }
function TMyClass.MyFunc: string;
begin
end;
procedure TMyClass.MyProc;
begin
end;
модуль 2:
uses unit1;
type
TMyClassHelper = class helper for TMyClass
procedure HelloWorld;
function MyFunc : string;
end;
{ TMyClassHelper }
procedure TMyClassHelper.HelloWorld;
begin
WriteLn( Self.ClassName); // Self refers to TMyClass
WriteLn( Self.fStrictPrivate); // Access to strict private members
WriteLn( Self.fStrictProtected); // Access to strict protected members
end;
function TMyClassHelper.MyFunc: string;
begin
end;
...
var
x : TMyClass;
begin
x := TMyClass.Create; // Visibility of TMyClassHelper is enough for the compiler
x.MyProc; // Calls TMyClass.MyProc
x.HelloWorld; // Calls TMyClassHelper.HelloWorld
x.MyFunc; // Calls TMyClassHelper.MyFunc;
Ресурсы: