java - 可以使用重复继承来缩小类吗?

标签 java google-app-engine class objectify

我有一个很长的类(class),我无法拆分,因为我需要一个数据库表(Google AppEngine + Objectify)中的所有字段。我已经尽可能地使用嵌入式类。该类主要由 getter 和 setter 及其背后的逻辑组成。

为了获得功能 block ,我决定使用重复继承。现在看起来像这样:

  • MyStoredModel 扩展
  • AbstractSettingsModel 扩展
  • AbstractHierarchyModel(处理父/子对象)extends
  • AbstractInformationModel(包含标题、描述等)extends
  • .....
  • 抽象模型

更容易看到每个类(class)在做什么,而且我还说它更容易测试。缺点是“继承链”。

这被认为是不良行为吗?缩小类(class)规模的更好方法是什么?

最佳答案

我会考虑为这些使用组合。因此该模型由设置、层次结构、信息对象组成。

这确实意味着你必须在顶级对象上包含所有的 setter/getter,然后它们将委托(delegate)给每个组件类中的相应 setter/getter,但至少你可以隔离对它们的所有处理分成单独的类,而没有继承层次结构的复杂性。这也意味着这些组件类现在可以自由地从他们喜欢的任何东西继承。

关于java - 可以使用重复继承来缩小类吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9377248/

相关文章:

class - 能否在Dart中的抽象类中声明静态方法?

java - 无法通过服务器 IP 访问的 Spring Boot 应用程序给出 404

java - 方法返回类型以实现多个接口(interface)

java - java应用程序中未应用背景颜色

java - 在 Android 应用程序中从 Google 云存储读取文件

javascript - 将多个项目插入类实例内的数组中

java - 在 Java 中监视文件和目录更改

google-app-engine - 将 Google Cloud Memorystore 与 App Engine 服务连接

java - 很棒的字体+应用程序引擎不工作

python - 在 Python 中打印具有多个值的类