Fellow's Workshop

先煎后炒,再煎再炒!

原创 delphi的接口的意义是不是跟C++和Java的不同呢?收藏

delphi的接口的意义是不是跟C++和Java的不同,怎么我这样不行的呢:

IInterface1 = interface
end;

IInterface2 = interface(IInterface1)
  procedure method();
end;

TClass1 = class(TInterfacedObject, IInterface2)
......
end;


首先,编译器不承认TClass1是IInterface1的派生,一定要写成TClass1 = class(TInterfacedObject, IInterface2, IInterface1)才可以。

接着,这样子也不行:
function xxx(): IInterface2;
var
   obj: TObject;
begin
   obj := TClass1.Create;
   result := obj as IInterface2; //不行
   result := IInterface2(obj); //也不行
end;


想把代码写得优美一点都不行。
看来我的object pascal要重看了。

发表于 @ 2005年01月05日 00:18:00|评论(loading...)

新一篇: [转贴]Delphi 的数据结构泛型类库指南,Delphi中的STL | 旧一篇: 功能强大的在线网页编辑器

用户操作
[即时聊天] [发私信] [加为好友]
Fellow
订阅我的博客
XML聚合  FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
Fellow的公告
文章分类
收藏
    test
    存档
    软件项目交易
    Csdn Blog version 3.1a
    Copyright © Fellow