gpt4 book ai didi

java - 如何将一个特性实现到两个不相关的类中

转载 作者:行者123 更新时间:2023-11-29 05:25:36 24 4
gpt4 key购买 nike

我被分配到一个项目,我的工作是为现有系统实现一个功能。此功能需要添加到两个单独的类中。这两个类都扩展了同一个父类(super class),但是将特性添加到这个父类(super class)是没有意义的。在没有太多代码重复的情况下,我可以在这两个单独的类中实现相同功能的最佳方式是什么。简单的方法是将此功能实现到一个静态类中,然后在需要此额外功能的两个类中使用静态方法,但这种设计似乎很糟糕。

是否有任何类型的设计我可以用来实现类似的东西,或者我遇到这个问题只是在层次结构中显示一个更大的问题应该被修复而不是尝试在它之上工作?

最佳答案

Java 没有独立的“静态”类,因此这是不可能的,因为它甚至是不可能的。至于静态方法的使用,如果您谈论的是无状态实用程序方法,那很好。

我自己,我想我会用组合和接口(interface)来解决这个问题:

  • 为我想要的功能创建一个界面
  • 创建此接口(interface)的具体实例
  • 给出接口(interface)的两个类字段
  • 为接口(interface)加上 getter 和 setter 方法。
  • 如果类本身必须具有新行为,则让它们实现接口(interface),然后让这些类通过调用接口(interface)方法中包含的对象的方法“间接”获得行为。

很抱歉,这个答案有些含糊且过于笼统。如果您需要我或这里的任何其他人提供更具体的建议,请考虑告诉我们您问题的更多细节。

关于java - 如何将一个特性实现到两个不相关的类中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22775563/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com