helper.pas

来自「Delphi技术手册源码 Delphi技术手册源码」· PAS 代码 · 共 55 行

PAS
55
字号
unit Helper;

interface

type
  TPublic = class;
  TPrivateHelper = class
  private
    // TPublic is the only class allowed to
    // call the real constructor:
    constructor Create(Owner: TPublic); overload;
  public
    // Hide TObject.Create, in case someone
    // accidentally tries to create a
    // TPrivateHelper instance.
    constructor Create; reintroduce; overload;
  end;
  TPublic = class
  private
    fHelper: TPrivateHelper;
  public
    constructor Create;
    destructor Destroy; override;
  end;

implementation

uses SysUtils;

constructor TPrivateHelper.Create;
begin
  raise Exception.Create('Programming error')
end;

constructor TPrivateHelper.Create(Owner: TPublic);
begin
end;


{ TPublic }

constructor TPublic.Create;
begin
  inherited Create;
  fHelper := TPrivateHelper.Create(Self);
end;

destructor TPublic.Destroy;
begin
  FreeAndNil(fHelper);
  inherited Destroy;
end;

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?