可以通过编程方式使用“添加未实现的方法”吗?

3
在生成接口类后,我需要一个与Eclipse的“添加未实现方法”功能相同的方法。我搜索了一下,但是找不到任何相关的信息。是否有一种方式可以像插件扩展点或其他方式一样使用它?
谢谢, Zinon
实际上,我创建了一个项目,该项目使用用户提供的模板和信息创建项目。它会在运行时从模板中生成源代码。我有一个接口类和一些实现者类,在模板项目中实现接口类。
public interface newInterface {
//Some methods here
String processStrings();
}


public newClass1 implements newInterface { 
String processStrings() {
 //processes here
}

public newClass2 implements newInterface { 
String processStrings() {
  //processes here
}

当我需要向接口添加新的方法时,我需要更新实现接口的类。添加未实现的方法只是解决这个问题的一个思路,但我不确定它是否是最理想的解决方案。现在问题清楚了吗?


你使用的是哪个平台?如果是Eclipse,这不是问题。 :) - sailhenz
是的,我使用 Eclipse。我找到了“AddUnimplementedMethodsOperation”类的源代码,但无法确定确切用法。 - Sinan Goker
@zinon - 这个源代码是免费开放的...你为什么用不起呢? - Stephen C
史蒂芬是正确的。如果它是开源的,为什么不使用它呢? :) - sailhenz
当然它是开源的,我不担心使用它。我认为我需要一个例子来理解它的用法。 :) - Sinan Goker
2
我不明白为什么你需要已经实现的相同函数。你想在哪里使用它?在Eclipse内部,该函数只是被定义了,而在外部,你缺乏整个环境来使用它。 - mliebelt
1个回答

3
我想补充一下@mliebelt的评论,您可以在新类向导中创建“继承抽象方法”的选项。
无论如何,如果您坚持,请查看向导的实现或UnimplementedCodeFix类的实现。
此外,该功能的JDT测试位于AddUnimplementedMethodsTest类(第365行)的 AddUnimplementedMethodsTest 类中。这些测试还可以帮助您更好地了解事物的运作方式。但是请注意,您正在处理内部的JDT类。

谢谢,终于找到了用法,但你说得对,使用内部类可能会有些麻烦。我已经在第一篇帖子中更新了问题。你有更好的解决方法吗? - Sinan Goker
很抱歉我并没有想起来。 我会调查一下JDT是否添加了可以通过处理程序服务执行的IHandler实现。如果是这样,它将被封装。 然而,仍然存在类/编译单元AST的问题,我不太确定是否封装。 - sgibly

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接