我先来说说吧:先前开发过一个人事工资管理系统,由于很多界面比较类似,所以做了一个模版frmPattern。
frmPattern上放置了各个界面的公共组件,并声明了一些虚函数,如:
function Judge_Condition(): boolean; virtual; abstract; //保存之前判断是否满足条件
function Save(): boolean; virtual; abstract; //保存在保存按钮中调用这两个函数:
if(Judge_Condition) then
begin
if(Save) then
Close;
end;以frmPattern为模版创建子界面,子界面中只要实现这两个函数即可,不需要再到保存按钮中添加代码是所谓“多态”
对于面向对象,总有很多见仁见智的看法,大家来说说各自是如何在delphi中运用面向对象的吧。高手们不要吝啬了哦~
frmPattern上放置了各个界面的公共组件,并声明了一些虚函数,如:
function Judge_Condition(): boolean; virtual; abstract; //保存之前判断是否满足条件
function Save(): boolean; virtual; abstract; //保存在保存按钮中调用这两个函数:
if(Judge_Condition) then
begin
if(Save) then
Close;
end;以frmPattern为模版创建子界面,子界面中只要实现这两个函数即可,不需要再到保存按钮中添加代码是所谓“多态”
对于面向对象,总有很多见仁见智的看法,大家来说说各自是如何在delphi中运用面向对象的吧。高手们不要吝啬了哦~
楼主这种情况,可以定义一个模板类,如同楼主定义的一样。
由于不知道子类的方法将如何操作,可以定义为抽象类型,便于子类override;这种方式也就是在设计模式当中所说的模板方法:
所谓模板方法就是:按照四人团的说法就是,定义一个操作类中的算法骨架,而将一些步骤延迟到子类中。
使得子类可以不改变一个算法的结构即可重新定义该算法的某些步骤。
1、只是1+1=几这种单线程的业务逻辑没必要用。(我们不是Java,是Delphi)
2、不习惯类的,不要用。就算是面向过程开发,只要别打错了。有什么不可以?!
3、IVF也算是面向对象的代表方式。一种特殊一点,带可视化界面的而已。其实是一个意思。