有这样一个代码:抽象类 abclassA:
存在方法f更新()和方法b异常处理b()
其中,方法f更新()只是定义了一下,没有实际代码。
方法b异常处理b()中会根据方法f更新()的返回值做消息弹出子类classb:
继承上面的父类,
override [f更新()]方法,在这个方法中做实际的更新处理操作。abclassA的方法f更新()并没有实际代码,而实际的业务实现是靠子类来做的,而子类中没有关于异常的处理。我的问题:在这样一个设计中,错误信息是父类的实例处理的还是自己继承负累后,自己具备父类的方法,是子类自己来处里的。
如果是子类自己来处理,那么父类中的异常处理b(),就仅仅作为一个对象的共通方法被抽去出来,而父类本身怎么说好,就是仅仅是个模板,不能担拎出来用是不是这样?

解决方案 »

  1.   

    你可以看下这篇文章,虽然讲的是抽象类与接口的区别,但相信对你肯定有帮助
    http://fzfx88.javaeye.com/blog/115393
      

  2.   

    抽象类中定义好了模板,f()更新,b()调用更新方法。这个模板抽象类已经定义好了。但是f具体做什么事。抽象类没有指明,这就需要实现他的子类就指定。这就是OO中的多态。每个实现他的子类都能写出自己更新方法。但有不偏离了抽象类定义的模板。
      

  3.   

    感觉LZ概念不清
    方法b被子类继承,所以子类不重写方法b,就是调用从父类继承来的方法b,但是实例本身还是子类实例,不存在父类实例,因为父类是抽象类,不能实例化。父类可以说是一个模板,子类复制模板,所以b作为子类的一部分而存在,每个不同的子类对象,都有一个相同的异常处理b,这个b是属于每个子类对象自己的