zoukankan      html  css  js  c++  java
  • 类常量,类变量,类属性,类方法

    来自:http://www.cnblogs.com/del/archive/2008/01/16/1041625.html

    //静态方法是默认的, 如果不是虚方法或纯虚方法, 那它就是一个静态方法.

    //类方法就是通过类名就可以访问的方法
    
    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;
    
    type
      TForm1 = class(TForm)
        Button1: TButton;
        Button2: TButton;
        procedure Button1Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
      end;
    
    {类方法示例:}
    TMyClass = class(TObject)
      class procedure alert(s: string); {类方法只是比静态方法多了一个 class 指示字}
    end;
    {
      类方法不能在 private 和 protected 区;
      类方法不能是虚方法;
      类方法只能使用类中的、在对象实例化以前的数据.
    }
    
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.dfm}
    
    { TMyClass }
    class procedure TMyClass.alert(s: string);
    begin
      ShowMessage(s);
    end;
    
    
    {类方法可以直接使用}
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      TMyClass.alert('万一'); {万一}
    end;
    
    {类的对象当然也能使用}
    procedure TForm1.Button2Click(Sender: TObject);
    var
      MyClass: TMyClass;
    begin
      MyClass := TMyClass.Create;
      MyClass.alert('万一');  {万一}
      MyClass.Free;
    end;
    
    end.

    //静态类方法
    
    {现在的 Delphi 不仅仅有类方法, 同时有: 
      类变量: class var
      类常量: class const
      类类型: class type
      类属性: class property
    
      静态类方法就是给类属性来调用的, 它可以存在与私有区(private), 
      譬如下面的 SetName 就是一个静态类方法:
    }
    TMyClass = class(TObject)
      private
        class var FName: string;
        class procedure SetName(const Value: string); static; {静态类方法又多了一个 static 指示字}
      published
      class property Name: string read FName write SetName;
    end;

  • 相关阅读:
    最小路径和
    S2 深入.NET和C#编程 机试测试错题积累
    S2 深入.NET和C#编程 笔试测试错题积累
    影院项目的内容信息
    抽象类和抽象的方法注意事项
    六种设计原则
    体检套餐的笔记
    C#图解 类和继承
    深入类的方法
    S2 深入.NET和C#编程 三:使用集合组织相关数据
  • 原文地址:https://www.cnblogs.com/del88/p/3951010.html
Copyright © 2011-2022 走看看