进销存系统中录入不同单据代表不同业务发生,而无论哪种单据本身都有很多共同特点:新建单据、保存单据、更新单据,单据数据合法检查、单据状态控制等基本是每个单据要有的处理,因此可以抽象出一个TbaseBillobj基类(见图2,3)用于实现单据的基本操作。比如图4中TbaseBillobj就是所有TxxxBillobj的基类(中间TbizProcess提供过账处理接口见下文)。那么在图3中也可以看到TbaseBillobj类的细节,基中有些方法比如UpdateBill,SaveBill等都是在此基类中就已实现,由TxxxBillobj这些单据子类直接继承使用。但也有例外的情况,有些方法,比如OrderCheck是用于处理销售单和进货单相关联的销售订单和进货订单的完成状态的,只有销售单和进货单需要使用,那么在基类TbaseBillobj中就先将OrderCheck声明为Virtual方法,然后在基类中保持此方法的实现为空,如果是其它单据不必在单据子类override此方法,这样就会执行继承执行这个基类的空方法,如果是销售单和进货单则各自执行其Override后的方法。如下:
基类中声明:
procedure OrderCheck(cds:TClientDataSet); virtual;
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




