Delphia5开发指南->第二章->方法的类型(2010年9月10日星期五)

来源:互联网 发布:大数据和云计算是什么 编辑:程序博客网 时间:2024/04/29 09:13

一、Object pascal语言方法的类型有哪些?

1、静态方法:是方法的缺省类型,执行速度最快,但不能被覆盖;

2、虚拟方法:virtual声明,在代码中调用一个指定的虚拟方法时编译器并不知道它的地址,通过建立虚拟方法表(VMT)来查找运行时的函数地址,执行速度比动态方法快,但比动态方法用的内存多;

3、动态方法:dynamic声明,和虚拟方法相似,单调的系统不同,需要建立动态方法表(DMT),DMT中只有本类覆写了的动态方法,所以它比虚拟方法省内存,但执行未被覆写的动态方法就慢,因为要到祖先对象的DMT中查找该方法入口。

消息处理方法:message声明,message后面的关键字指明了此方法要响应的消息,从而来相应windows消息。

*基类中用virtual、dynamic声明,派生类中用override关键字实现覆写。

二、用reintroduce声明的方法作用?

当在子类中重载或者重新声明父类的虚方法时,使用     reintroduce   关键字告知编译器,可以消除警告信息。

 

原创粉丝点击