理解 Delphi 的类(十一) - 深入类中的方法[5] - 静态方法、类方法、静态类方法
2008-01-16 17:07
656 查看
//静态方法是默认的, 如果不是虚方法或纯虚方法, 那它就是一个静态方法. //类方法就是通过类名就可以访问的方法 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;
相关文章推荐
- 理解 Delphi 的类(十一) - 深入类中的方法[3] - 方法在实现时的参数省略
- 理解 Delphi 的类(十一) - 深入类中的方法[1] - 虚方法与动态方法
- 理解 Delphi 的类(十一) - 深入类中的方法[4] - 访问限制(或者叫可见性)
- 理解 Delphi 的类(十一) - 深入类中的方法[6] - 类中的方法重载
- 理解 Delphi 的类(十一) - 深入类中的方法[10] - 构造方法与析构方法
- 理解 Delphi 的类(十一) - 深入类中的方法[12] - 消息方法
- 理解 Delphi 的类(十一) - 深入类中的方法[13] - 方法的调用约定
- 理解 Delphi 的类(十一) - 深入类中的方法[11] - 事件方法
- 理解 Delphi 的类(十一) - 深入类中的方法[8] - 抽象方法与抽象类
- 理解 Delphi 的类(十一) - 深入类中的方法[2] - 关于覆盖与重定义
- 理解 Delphi 的类(十一) - 深入类中的方法[7] - 关于 inherited
- 理解 Delphi 的类(十一) - 深入类中的方法[8] - 抽象方法与抽象类
- 理解 Delphi 的类(十一) - 深入类中的方法[8] - 抽象方法与抽象类
- [转]理解 Delphi 的类(十一) - 深入类中的方法[10] - 构造方法与析构方法
- 理解 Delphi 的类(十一) - 深入类中的方法[9] - 不能被覆盖的方法与不能被继承的类
- 理解 Delphi 的类(十一) - 深入类中的方法[1] - 虚方法与动态方法
- 理解 Delphi 的类(十) - 深入方法[20] - 静态数组参数
- 理解 Delphi 的类(十) - 深入方法[8] - 如果忘了返回值
- 理解 Delphi 的类(十) - 深入方法[16] - 方法的顺序
- 理解 Delphi 的类(十) - 深入方法[26] - 回调函数