当前位置:主页>仓库管理软件> 列表

类的方法(函数)可以分为四种,虚拟,动态,静态,抽象。请问

销售管理软件版1楼: 类的方法(函数)可以分为四种,虚拟,动态,静态,抽象。请问 procedure SayHello; 默认为哪类,以及它们的用法与区别。

2楼: procedure SayHello; 属于静态函数
虚拟:虚函数,可以被override,只有对象建立后才能访问。
动态:和虚拟函数类似,不过速度比虚函数慢,占用空间比虚函数小,典型的用时间换空间。
静态函数:普通申明的函数,调用对象的静态函数实际上是调用类的方法。
抽象:纯虚函数,属于虚函数,但是基类没有实现的过程。
一般情况下,动态函数用的较少,如果需要override并且用虚函数,速达软件下载

3楼: 看看这个:http://www.delphibbs.com/keylife/iblog_show.asp?xid=9124

4楼: 静态,与虚拟都可以继承吗?

5楼: 继承是类的事情,方法应该是override,静态方法不能被override

6楼: 动态函数其实和虚拟函数差不多,只是在类进行继承时不同
例如
TA = class
procedure a1;
end;
TB= class(TA)
如果a1是虚拟函数,那么TB的vmt中就存在了a1,调用的时候直接在TB的VMT中就可以查到了,而如果是动态方法,TB的vmt中没有a1,需要到父类,也就是TA的vmt中去查找,需要多花一定的时间,但节约了空间