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

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

 

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

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

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

 

这在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不支持多继承。

你可能感兴趣的:(关于Java缺乏多继承机制的探讨)