|
引用:一个对象内部定义了另一个对象变量,即为引用关系5、 合成:对象内的各组成部分依赖于某一主体属性而同生共灭 6、 聚合:对象内的各组成部分属于零散的简单组合关系,使用不同的服务组合成一个整体的功能 九、接口 1、 接口:具有某种特定的属性及函数/过程签名的定义,而没有实现。不具备内部数据成员。功能的调用是通过创建实现其功能签名的派生类完成的 2、 接口必须具备3个方法:_AddRef/_Release/QueryInterface,最简单的方式是从TinterfacedObject继承 3、 接口使用演示: IInterface=interface [''''{02960574-2025-46C3-9882-F79C3C67EA99}''''] function GetName:string; procedure Eat; end; TPerson=class(TInterfacedObject,IInterface) private FName: string; public function GetName:string;virtual; procedure Eat;dynamic; procedure SayHello;virtual;abstract; published constructor create; destructor destory; property Name:string read FName write FName; end; TChinese=class(TPerson,IInterface) public procedure SayHello(str:string);overload; procedure SayHello;overload;override; published constructor create; destructor destory; end; { TPerson } constructor TPerson.create; begin ShowMessage(''''TPerson.create''''); end; destructor TPerson.destory; begin ShowMessage(''''TPerson.destory''''); end; procedure TPerson.Eat; begin ShowMessage(''''TPerson.Eat''''); end; function TPerson.GetName: string; begin result:=''''TPerson.GetName''''; end; { TChinese } procedure TChinese.SayHello(str: string); begin ShowMessage(''''TChinese.SayHello(''''+str+'''')''''); end; constructor TChinese.create; begin ShowMessage(''''TChinese.create''''); end; destructor TChinese.destory; begin 上一页 [1] [2] [3] [4] [5] 下一页 没有相关教程
|