zhangrunzgz 2009-11-11 15:20
浏览 167
已采纳

这样的情况如何处理

class Base
class B extends Base
class C extends Base
class D extends Base
class E extends Base
.
.
.
Base有很多子类。现在有一个新的要求,base的子类中,有几个bean需要用到几个通用的方法,比如:File inputStreamToFile,比如 String getSuffix。要把这些可共用的方法怎么处理为好呢?谢谢各位进来的,谢谢留言的。
[b]问题补充:[/b]
怎么没提示我有人回答呢?刚才看think in java 突然想到可以解决,准备来关闭了。
第一种:这个其实也可以,只是我不想那么弄。因为新加的这几个方法很少的base子类会用(这是主要考虑)。
第二种:就是我刚想到的。你的思路肯定跟我一样。
第三种:这个我要试试。深入了解一下装饰者模式。
谢谢你赐教。十分感谢,我的分也不多,再加5分,聊表心意。QQQ

  • 写回答

1条回答 默认 最新

  • lijiepeng 2009-11-11 19:07
    关注

    能改Base源代码的,写到Base类里.
    不能改Base源代码的,写到个工具类里,麻烦点的就再写个Base的子类,将所要加的方法写到子类里.再麻烦点也更灵活,用装饰器模式重构下,可以灵活到你运行时改变方法的行为.也许你根本不需要这么灵活,那就用满足要求的来吧.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 全志H618ROM新增分区
  • ¥20 jupyter保存图像功能的实现
  • ¥15 在grasshopper里DrawViewportWires更改预览后,禁用电池仍然显示
  • ¥15 NAO机器人的录音程序保存问题
  • ¥15 C#读写EXCEL文件,不同编译
  • ¥15 MapReduce结果输出到HBase,一直连接不上MySQL
  • ¥15 扩散模型sd.webui使用时报错“Nonetype”
  • ¥15 stm32流水灯+呼吸灯+外部中断按键
  • ¥15 将二维数组,按照假设的规定,如0/1/0 == "4",把对应列位置写成一个字符并打印输出该字符
  • ¥15 NX MCD仿真与博途通讯不了啥情况