Delphi中的各种方法类型简介
来源:互联网 发布:ubuntu 16.04 openjdk 编辑:程序博客网 时间:2024/05/16 15:45
在Delphi中有4种方法类型,分别是:static(静态), virtual(虚), dynamic(动态) 以及message(消息处理)。
先建立示例对象如下:
type
Foo = class
procedure IAmAStatic;
procedure IAmAVirtual; virtual;
procedure IAmADynanic; dynamic;
procedure IAmAMessage(var M : TMessage); message WM_SomeMessage;
end;
1.静态方法: IAmAStatic
静态方法是缺省类型,类似如常规的过程和函数。静态方法的执行速度最快。
静态方法不能被覆盖,无法实现多态性。
2.虚方法: IAmAVirtual
虚方法的调用方法和静态方法一样,而且可以被覆盖。
虚方法执行速度较快,但是消耗内存较多。
3.动态方法: IAmADynanic
动态方法是具有不同调度机制的虚方法。
动态方法与虚方法想比占用内存较少,但是速度稍慢。
4.消息处理方法: IAmAMessage
消息处理方法通常用于创建对Windows消息的响应。
以下将简单介绍方法的覆盖和重载。
1.覆盖:
type
FooChild = class(Foo)
procedure IAmAVirtual; override;
procedure IAmADynanic; override;
procedure IAmAMessage(var M : TMessage); message WM_SomeMessage;
end;
2.重载:
type
TSomeClass = class
procedure AMethod(I : Integer); overload;
procedure AMethod(S : String); overload;
procedure AMethod(D : Double); overload;
end;
最后再简单介绍一下reintroduce和self关键字的用法。
1.reintroduce:
在极少数的情况下,我们可能打算加入一个方法到自己的类中,从而完全取代祖先类中的同名方法。注意,这不是一个覆盖的行为。
这时我们可以使用reintroduce关键字,不然编译器会作出"新方法隐藏积累里某个方法"的提示。
例如:
type
TSomeBase = class
procedure Cooper;
end;
TSomeClass = class(TSomeBase)
procedure Cooper; reintroduce;
end;
2.Self:
在所有对象方法中都有一个隐藏的self变量,其指向调用该方法的类实例的指针。
- Delphi中的各种方法类型简介
- Delphi中的各种路径
- Delphi中的布尔类型
- DELPHI中的记录类型
- Delphi中的数组类型
- Delphi中的布尔类型
- delphi中的各种文件类型介绍
- 各种方法简介~
- Delphi中的WideString类型学习
- Qt中的各种控件简介
- delphi 精要-读书笔记(过程类型,方法类型)
- 三维重建技术 各种方法简介
- 软件工程中的各种耦合类型
- c++中的各种类型转换
- 一维条码、二维码各种类型简介
- C++中的类中的各种类型的常、变量的定义方法
- java中的各种方法
- thinkphp中的各种方法
- Camera 图像处理原理分析- 亮度及曝光控制
- 我看360卸载毒霸网盾
- 圆通与申通 物流PK
- 8707快捷键大全!
- Eclipse异常解决
- Delphi中的各种方法类型简介
- 积分好难搞
- #pragma data_seg介绍
- MFC的注册表操作—CRegKey类的使用
- Doug Cutting Interview
- 两表关联更新
- 以后的计划
- java转义字符
- 正方2010年5月工作记录