| begin
。。。。。。。
{如果图4中的xxxBillobj单据子类没有override OrderCheck,那么在此实际上就会执行下面基类的的TbaseBillobj.OrderCheck,它是一个空方法。 }
if Self.FProcessTag>=2 then
OrderCheck(cdsDataSet);
end;
基类实现:
procedure TBaseBillobj.OrderCheck(cds:TClientDataSet);
begin
//只有销售单、进货单TsaleBillobj、TbuyBillobj override并具体实现此方法
end;
考虑一下,如果用非OO的设计来完成类似这样的情况,那应该是是写一个通用的OrderCheck然后用if判断来处理,实际上这里情况较简单,就销售单和进货单两种情况,如果是那种复杂情况if就会很多,那种程序不是很好维护而且总是用一种方式编程序也会很烦。
由于篇幅所限,更多内容在 进销存软件之OO设计--中间层处理(二)
上一页 [1] [2] |