关于 "接口" 各位: 对于接口的目的是什么,能否提供一个简单实例?谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 IProviderSupport = interface procedure PSEndTransaction(Commit: Boolean); procedure PSExecute; function PSExecuteStatement(const ASQL: string; AParams: TParams; ResultSet: Pointer = nil): Integer; procedure PSGetAttributes(List: TList); function PSGetDefaultOrder: TIndexDef; function PSGetKeyFields: string; function PSGetParams: TParams; function PSGetQuoteChar: string; function PSGetTableName: string; function PSGetIndexDefs(IndexTypes: TIndexOptions = [ixPrimary..ixNonMaintained]): TIndexDefs; function PSGetUpdateException(E: Exception; Prev: EUpdateError): EUpdateError; function PSInTransaction: Boolean; function PSIsSQLBased: Boolean; function PSIsSQLSupported: Boolean; procedure PSReset; procedure PSSetParams(AParams: TParams); procedure PSSetCommandText(const CommandText: string); procedure PSStartTransaction; function PSUpdateRecord(UpdateKind: TUpdateKind; Delta: TDataSet): Boolean; end;为类的继承,多态等提供保证 To bee2518(迷茫ing) // 为类的继承,多态等提供保证 能不能具体一点 象delphi, java等都是单继承语言,但可以通过接口来实现多继承利用接口,可以更抽象化,轻量级的 type IA = interface ['{A2ADB838-F09E-44CF-BC48-9A16E3B1DF28}'] function GetA: string; end; TA = class(TInterfacedObject, IA) function GetA: string; end;implementation{ TA }function TA.GetA: string;beginend; 可以把借口近似的理解为纯抽象类,虽然不是。有些咚咚,例如com,就要用到借口。还有,软件工程我不懂,不过有时用借口会比类等等 有更大的好处。 To,楼上的: 引用初中老师的话 "犯了错,不要总为自已找借". 老大,再想一想,我对这个接口真的很密茫,看了刘艺的接口一篇n遍,嗨,就是找不到北? yonhon_jj(蝈蝈) 象delphi, java等都是单继承语言,但可以通过接口来实现多继承利用接口,可以更抽象化,轻量级的同意这位兄弟的说法,在delphi接口最主要的就是为多重续承提供可能,通过续承可以让孩子拥有父亲的特征(也可以续承母亲的特征,但是通过续承孩子只能续承父亲或者母亲的单一特征而不能二者兼有),通过接口处理可以让孩子即拥有父亲的特征(续承)又拥有母亲的特征(通过接口)。 推荐《Java与模式》最近正在学习,觉得非常不错,希望对你有帮助 接口是否需要释放,指针是否需要设为nil 楼主可以看看《delphi com深入编程》,这本书讲得透彻点,例题也有下载地址:http://www.delphifans.com delphi用随机数进行数据库内表之间的传数 delphi yyyy/mm 字符串转为日期类型?? 请教个SQL问题 用户管理功能设计问题 短信开发方式大讨论 我现在不知道怎么了,知道了算法就一点不想写代码了,请大家说说,是进步了还是倒退了? 如果我想把oracle8的客户端打包进去,怎么办?? TRegistry,出现错误,来看看。 TChart控件如何把表中右边的系列给去掉 怎样用命令来建立一个快捷键 为何不能取得窗体上的按键?急 怎样在execute过程中返回thread对象自身属性
procedure PSEndTransaction(Commit: Boolean);
procedure PSExecute;
function PSExecuteStatement(const ASQL: string; AParams: TParams;
ResultSet: Pointer = nil): Integer;
procedure PSGetAttributes(List: TList);
function PSGetDefaultOrder: TIndexDef;
function PSGetKeyFields: string;
function PSGetParams: TParams;
function PSGetQuoteChar: string;
function PSGetTableName: string;
function PSGetIndexDefs(IndexTypes: TIndexOptions = [ixPrimary..ixNonMaintained]): TIndexDefs;
function PSGetUpdateException(E: Exception; Prev: EUpdateError): EUpdateError;
function PSInTransaction: Boolean;
function PSIsSQLBased: Boolean;
function PSIsSQLSupported: Boolean;
procedure PSReset;
procedure PSSetParams(AParams: TParams);
procedure PSSetCommandText(const CommandText: string);
procedure PSStartTransaction;
function PSUpdateRecord(UpdateKind: TUpdateKind; Delta: TDataSet): Boolean;
end;
为类的继承,多态等提供保证
// 为类的继承,多态等提供保证 能不能具体一点
IA = interface
['{A2ADB838-F09E-44CF-BC48-9A16E3B1DF28}']
function GetA: string;
end; TA = class(TInterfacedObject, IA)
function GetA: string;
end;implementation{ TA }function TA.GetA: string;
beginend;
老大,再想一想,我对这个接口真的很密茫,看了刘艺的接口一篇n遍,嗨,就是找不到北?
象delphi, java等都是单继承语言,但可以通过接口来实现多继承利用接口,可以更抽象化,轻量级的同意这位兄弟的说法,在delphi接口最主要的就是为多重续承提供可能,通过续承可以让孩子拥有父亲的特征(也可以续承母亲的特征,但是通过续承孩子只能续承父亲或者母亲的单一特征而不能二者兼有),通过接口处理可以让孩子即拥有父亲的特征(续承)又拥有母亲的特征(通过接口)。
最近正在学习,觉得非常不错,希望对你有帮助
http://www.delphifans.com