关于Java缺乏多继承机制的探讨

最近笔者在软件产品研发过程中遇到一问题,解决起来相当的棘手。产品架构在规划阶段定位分布式多层架构,第一阶段采用B/S架构,同时研发出全部的服务端组件(ServletJava beans),在组件成熟并且B/S架构产品成熟的情况下,再研发C/S架构产品,这样一来,风险就大大降低了。

B/S架构产品研发的时候,使用了Struts框架,其中的两大基础对象是ActionFormAction。自定义的ActionForm都要继承自org.apache.struts.action.ActionForm,例如:

 

这在B/S产品研发阶段没有任何问题,但是到了C/S产品研发阶段,问题就来了,客户端提交给服务器的数据不再是ActionForm,而是只包含字段的纯JavaBean,代码如下:

Public  class  MyClass  {
    Private String a;
    Private String b;
    ……
    
//getter 和 setter省略
}



 

于是乎,在原来的B/S架构研发凡客诚品成果上,对于C/S架构产品的研发,都多了这个纯JavaBean的封装,如果业务逻辑发生变化,要对MyClassFormMyClass都进行修改。

如果Java能支持多继承,那么就很省事情了。即自定义的MyClassForm能同时从org.apache.struts.action.ActionFormMyClass继承:

Public  class  MyClassForm  extends  MyClass,org.apache.struts.action.ActionForm  {
}




    可惜啊,JDK不支持多继承。

Public  class  MyClassForm  extends  org.apache.struts.action.ActionForm  {
    Private String a;
    Private String b;
    ……
    
//getter 和 setter省略
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值