type
IFood = interface
['{D68E13A0-852B-4189-ACA3-CEF35314030F}']
function show:string;
function get:string;
end; TRunable = class(TInterfacedObject,IFood)
function showFood:IFood;
property Foot:IFood read showFood implements IFood;
end; function TRunable.showFood:IFood;
begin
writeln('Hello');
end;
var
run : TRunable;
begin
{ TODO -oUser -cConsole Main : Insert code here }
run := TRunable.Create;
run.showFood;
readln;
end.
、、、、、、、、、、、、、
在TRunable中并没有实现IFood的show,
甚至没有委托实现get但还是可执行,
这是否能说明implements后,不必将所有接口内方法实现
但到底是Foot这个字段受委托还是showFood受委托了??
IFood = interface
['{D68E13A0-852B-4189-ACA3-CEF35314030F}']
function show:string;
function get:string;
end; TRunable = class(TInterfacedObject,IFood)
function showFood:IFood;
property Foot:IFood read showFood implements IFood;
end; function TRunable.showFood:IFood;
begin
writeln('Hello');
end;
var
run : TRunable;
begin
{ TODO -oUser -cConsole Main : Insert code here }
run := TRunable.Create;
run.showFood;
readln;
end.
、、、、、、、、、、、、、
在TRunable中并没有实现IFood的show,
甚至没有委托实现get但还是可执行,
这是否能说明implements后,不必将所有接口内方法实现
但到底是Foot这个字段受委托还是showFood受委托了??
解决方案 »
- 怎样做一个发送QQ消息和发送MSN消息的程序?
- 各位好心的大哥,小弟跪求解决办法,麻烦进来看一下,真的很急啊~~~~555
- 奇怪的打印问题?
- 救命啊,快来帮帮我
- Memo问题
- 怎样使DBGrid左边一列显示为记录序号?
- 多窗体问题
- 请问:调用QuickRep.PreviewModel这个方法后,关闭其拥有者时,报系统错误“无效的窗体句柄”。(并不是所有的这类应用都报,有几个不报,
- 如何成功的释放动态创建的ADOQuery(WindowXP环境下Delphi5)????
- 营业员没零钱.找了我两个套套.
- ListView中嵌套控件的问题
- 远程桌面控制的思路与方案,能达到qq的远程协助的效果就比较理想,帮顶给分!
这是不是说只要implements就算是实现了??
还有get方法可什么都没有啊。
是不是不实现也可以??
run : TRunable;
food: IFood;
begin
{ TODO -oUser -cConsole Main : Insert code here }
run := TRunable.Create;
run.QueryInterface(ifood, food);
if food <> nil then
writeln('FOOD在内存里了);
readln;
end.
food := TRunable.create();
加入这句后程序依然正常。
这样的话具体有体现了什么呢?
大家如有电子书请传给我,先谢啦.
[email protected]