delphi实现一个类继承抽象类并实现接口
来源:互联网 发布:广州手趣网络 招聘 编辑:程序博客网 时间:2024/06/05 14:16
问题描述:TSaleOutDao即要继承抽象类TABizDao又要实现接口TIBizDao.
解决办法:先用抽象类继承TIBizDao,然后再把需要实现的接口方法声明为抽象方法。然后再用
TSaleOutDao继承TABizDao.
- //IBizDao.pas单元文件
- unit IBizDao;
- interface
- type
- TIBizDao=interface
- function aaa:string;
- end;
- implementation
- end.
- //ABizDao.pas单元文件
- unit ABizDao;
- interface
- uses
- IBizDao;//引用父类单元
- type
- {特别注意,同一个单元内的两个类会被任务是友元类,即如果把SaleOutDao也写在该单元中,
- SaleOutDao可以直接访问ABizDao中的私有变量TableName并赋值}
- TABizDao=class(TInterfacedObject,TIBizDao)
- private
- TableName:string;
- protected
- public
- constructor create;
- destructor destroy;override;
- procedure SetTableName;virtual;abstract;
- procedure SetTableNameEx(FName:string);
- function GetTableNameEx:string;
- {//虽然是继承自接口,但不实现接口的方法;aaa声明为抽象方法,在子类实现}
- function aaa: String;virtual;abstract;
- end;
- implementation
- { ABizDao }
- constructor TABizDao.create;
- begin
- Self.SetTableName;
- end;
- destructor TABizDao.destroy;
- begin
- inherited;
- end;
- function TABizDao.GetTableNameEx: string;
- begin
- Result:=TableName;
- end;
- procedure TABizDao.SetTableNameEx(FName: string);
- begin
- Self.TableName:=FName;
- end;
- end.
- //SaleOutDao.pas单元文件
- unit SaleOutDao;
- interface
- uses
- ABizDao,IBizDao;//引用父类单元
- type
- TSaleOutDao=class(TABizDao)
- private
- protected
- public
- constructor create;
- destructor destroy;override;
- procedure SetTableName;override;
- function aaa: String;override;
- end;
- implementation
- {实现接口的方法}
- function TSaleOutDao.aaa: String;
- begin
- Result:='aaa';
- end;
- constructor TSaleOutDao.create;
- begin
- inherited;{加上关键字inherited会调用父类构造函数,如果不加的话不会执行TABizDao.create}
- end;
- destructor TSaleOutDao.destroy;
- begin
- inherited;
- end;
- {实现抽象类的抽象方法}
- procedure TSaleOutDao.SetTableName;
- begin
- inherited;
- SetTableNameEx('UserInfo');
- end;
- end.
- delphi实现一个类继承抽象类并实现接口
- 抽象类----接口----继承---实现
- 抽象类,接口继承与实现关系
- Java 抽象类 接口 继承 实现
- Java,抽象类,接口,实现,继承
- 抽象类可以实现接口,并且可以继承实体类
- 接口、抽象类、普通类继承和实现关系
- Java-子类同时继承抽象类和实现接口
- 抽象类与接口之间的继承和实现关系
- 接口和抽象类的继承和实现
- C++ 继承抽象基类的接口及实现
- 抽象类的继承与接口的实现
- 接口的多继承跟抽象类的多实现
- 接口是否可以继承接口;抽象类是否可以实现接口;抽象类是否可以继承实体类?
- 做一个GPSCar类,要求继承Car类,并实现GPS接口
- 做一个GPSCar类,要求继承Car类,并实现GPS接口
- java一个实现类如何实现有多个继承的接口?
- Java回顾:用一个Demo来说明继承抽象类和实现接口的简单框架模型
- C++中const的正确用法之一
- ctemplate使用
- Creating Threads
- 工作中用到的日语
- 救火!各位大虾,怎样用JAVA程序读取excle文件或excle数据库,并插入到oracle数据库中,万分感谢
- delphi实现一个类继承抽象类并实现接口
- 高洛德着色
- Web应用程序的部署与安装(1)
- 设置与删除cookie时一定要注意路径问题(另读取cookie中firfox与ie的区别)
- 多普达S600短信不直接显示在屏幕上的设置方法
- 《Beiginning Linux programming || Linux 程序设计》读书笔记(三)
- 我的电脑怎么啦
- 从插件/RCP中取得文件路径的方法
- 使用Run-Time Library将wchar_t转换为char