【问题标题】:Copying class members into other classes - eclipse将类成员复制到其他类 - eclipse
【发布时间】:2013-04-19 16:20:01
【问题描述】:

当您需要将一些类功能移动到另一个类中时,可以通过引用一些公共变量(Ctrl+Shift+G)搜索相应的方法,然后使用 Eclipse 的重构功能“Move”轻松完成,它允许将选定的方法移动到其他类中。

但您也可能需要复制方法。例如,如果您在其他类中需要非常相似的功能 - 稍微更改一下这些复制的方法比从头开始编写要舒服得多。

  • 一一复制粘贴方法体不是最方便的 接近..
  • 创建一个重复的类,然后使用上面提到的“方法移动”,感觉也有点笨。

你会/会如何行动?

附言。请不要思考和谈论代码重复问题,我绝对不会在两种不同的方法中拥有共同的功能。只需将其视为将一批方法从 A 类复制到 B 类的挑战。无论出于何种原因。 而截图只是“移动”功能的一个说明。

【问题讨论】:

    标签: java eclipse class refactoring


    【解决方案1】:
    • 在大纲视图中选择一种或多种方法并复制它们(它会复制整个方法)。
    • 打开您希望复制方法的其他类。导航到大纲视图并右键单击类名 -> 粘贴。方法的主体被成功复制到另一个类中。

    【讨论】:

    • 关于大纲视图的好提示。我修改并接受了你的回答。
    【解决方案2】:

    理想情况下,您应该重构原始方法,编写更多方法来移动无需任何更改即可使用的通用功能。在您要应对的地方和要粘贴的地方使用这些常用方法。

    这样您的应用程序将具有良好的代码可重用性,并且您也不必重复编写常见功能的单元测试(如果这是您可能的用例之一)

    编辑:除了 Alt+Shift+V,Eclipse 还具有“Pull Up”和“Push Down”功能,以满足分层代码结构情况下方法重用的需求

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-04
      • 1970-01-01
      • 2018-03-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多