java – 重写抽象方法时的常用代码 – 设计问题
发布时间:2020-12-15 04:58:46 所属栏目:Java 来源:网络整理
导读:我有一个像这样的抽象类 public abstract Stuff{ public abstract void doStuff();} 几个类正在扩展Stuff,重写doStuff(). doStuff()通常为每个实现执行完全不同的任务,但共享一个共同的部分. 什么是实现这个的最佳方式? 我不想写一些像: public void doStu
我有一个像这样的抽象类
public abstract Stuff { public abstract void doStuff(); } 几个类正在扩展Stuff,重写doStuff(). doStuff()通常为每个实现执行完全不同的任务,但共享一个共同的部分. 什么是实现这个的最佳方式? 我不想写一些像: public void doStuff() { doTheCommonPart(); ... } 在每个扩展类中. 解决方法
或者:
>将公共代码放在Stuff类的受保护方法中,并从doStuff的每个实现中调用它;要么 例如. (1) public abstract Stuff { public abstract void doStuff(); protected void commonCode() { //... } } 或(2) public abstract Stuff { public void doStuff() { // Do the common stuff initially... // ... // Then call the subclass implementation doRealStuff(); } public abstract void doRealStuff(); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |