对多态性了如指掌的大仙请进(长假期前是不许请假,不许迟到 ^-^),学生等你授课。 把bb:=TAa(aaa);改成 bb:= TAaa.Create 试一试 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 因为ShowString是虚拟方法啊,而你是用aaa(TAaa的实例)给bb赋的值,多态的意义就在于此。 小指一下错误你的create却没有free;另外,taa(aaa)不是没有作用,其实这就是多态性的一个特点,通过基类调子类 可以这样来理解(仅仅作为理解)假设Ta被封装后的类入口结构为_Ta=record _ShowString:Pointer;//函数指针end;当创建aa实例时,将aa的方法对应的地址存入aa入口结构的指针中;相应的,当创建aaa实例时,将aaa的方法对应的地址存入aaa的入口结构的指针中; 而对于bb,将aaa的实例指针引用并传递给bb时,只将对应方法的指针(aaa的对象指针)值传递给bb,所以引用出来的当然是aaa的方法了。 Label1: "This is return by method by TAa!";Label2: "TAaa";Label3: "'This is return by method by TAaa!"; 在COM对象中 如何获取客户端信息? 数据记录问题(怎样把多条信息放到记录结构中,并且怎样应用) 寻求程序员高手合作,寻求珠三角软件公司合并 QuickReport中的文本如何换行? 如何将十六进制的数转成十进制的数,能否给个函数。谢谢! 这个问题困扰了我1个多月,是高手就帮我看看,谢谢! dcom 连接问题。。。。。。。。 最最基本问题 请问要如何计算利息 :各位大哥,关于决策支持的问题,请救救小弟。。 如何用ADO实现升降序及查找筛选功能。最好有源代码! 谁知道delphi中调用OLEexcel后可以对其执行哪些操作?
taa(aaa)不是没有作用,其实这就是多态性的一个特点,通过基类调子类
可以这样来理解(仅仅作为理解)假设Ta被封装后的类入口结构为_Ta=record
_ShowString:Pointer;//函数指针
end;当创建aa实例时,将aa的方法对应的地址存入aa入口结构的指针中;相应的,当创建aaa实例时,将aaa的方法对应的地址存入aaa的入口结构的指针中; 而对于bb,将aaa的实例指针引用并传递给bb时,只将对应方法的指针(aaa的对象指针)值传递给bb,所以引用出来的当然是aaa的方法了。
Label2: "TAaa";
Label3: "'This is return by method by TAaa!";