李战:
message方法实际就是dynamic方法,是可以直接重载的,不过重载的形式与dynamic方法在写法上有些不同而已。
[阅读: 341] 2007-08-23 00:53:50
dynamic方法实际上是“根据索引号来寻找调用地址”的多态实现,它比virtual那种“在对象结构中存储调用地址”的多态实现更节省内存。
message方法与dynamic方法实现完全相同。只是定义dynamic方法时,不需要指定寻找调用地址的索引号,由编译器自动分配。而定义message方法需要指定这个索引号,而这个索引号正好可以用Windows的消息号。因此,与其说dynamic方法是另一种形式的多态实现,还不如说它就是专门为处理消息分派而设计的。
还有,dynamic方法是根据方法名称来对应重载关系,而message方法是根据索引号来对应重载关系的(方法名称可以不同)。
参见《悟透DELPHI》之 DELPHI原子世界
李战(leadzen)