【发布时间】:2021-10-30 07:42:54
【问题描述】:
假设我有class Report,我想添加一个功能printReport(...) 和shouldBePrinted(...)。打印它需要从外部提供的GeneralPrinter 和LanguageTranslator。此外,我应该添加成员以使shouldBePrintable 方法更加优化。
在我看来有三种方法:
- 最简单的方法是将成员和函数添加到
Report类中。 - 创建
PrintableReport,它扩展 Report 并添加这些成员和函数。 - 使用装饰器模式添加所需的功能。 (不确定那个。如果这不是使用装饰器的正确方法,请纠正我。)
我是否遗漏了一些,哪种方法是正确的?
【问题讨论】:
-
请将您的代码分享为minimal reproducible example,而不是对您遇到的问题进行模糊描述
标签: java inheritance decorator