。。。。。。。
{如果图4中的xxxBillobj单据子类没有override OrderCheck,那么在此实际上就会执行下面基类的的TbaseBillobj.OrderCheck,它是一个空方法。 }
if Self.FProcessTag>=2 then
OrderCheck(cdsDataSet);
end;
基类实现:
procedure TBaseBillobj.OrderCheck(cds:TClientDataSet);
begin
//只有销售单、进货单TsaleBillobj、TbuyBillobj override并具体实现此方法
考虑一下,如果用非OO的设计来完成类似这样的情况,那应该是是写一个通用的OrderCheck然后用if判断来处理,实际上这里情况较简单,就销售单和进货单两种情况,如果是那种复杂情况if就会很多,那种程序不是很好维护而且总是用一种方式编程序也会很烦。
由于篇幅所限,更多内容在 进销存软件之OO设计--中间层处理(二)
上一页 [1] [2]
Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved. 闵涛 E_mail:admin@mintao.net(欢迎提供学习资源)
鄂公网安备 42011102001154号
站长:MinTao ICP备案号:鄂ICP备11006601号-18