⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 classstatic.dpr

📁 source code for Marco Cantu s book Delphi 2007 Handbook
💻 DPR
字号:
program ClassStatic;

{$APPTYPE CONSOLE}

uses
  SysUtils, Windows;

type
  TBase = class
  private
    tmp: Integer;
    class var
      fMyName: string;
  public
    class procedure One;
    class procedure Two; static;
    class function GetMyName: string; static;
    class procedure SetMyName (Value: string); static;
    class property MyName: string read GetMyName write SetMyName;
    class property DirectName: string read fMyName write fMyName;
  end;

// replace class data with local data
//var
//  fMyName: string;

class procedure TBase.One;
begin
  // Error: Instance member 'tmp' inaccessible here
  // writeln (tmp);
  writeln ('one');
  writeln (self.ClassName);
end;

class procedure TBase.Two;
begin
  writeln ('two');
  // error: Undeclared identifier: 'self'
  // writeln (self.ClassName);
  writeln (ClassName);
end;

class function TBase.GetMyName: string;
begin
  Result := fMyName;
end;

class procedure TBase.SetMyName (Value: string);
begin
  fMyName := Value;
end;

var
  base: TBase;

begin
  // TBase.MyName := 'hi';
  TBase.One;
  TBase.Two;

  base := TBase.Create;
  base.One;
  base.Two;

  //writeln (base.myname);

  readln;
end.

⌨️ 快捷键说明

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