2011-12-07 30 views
1

这应该是一个简单的问题。 :)无法重构/删除方法

我正在使用Pharo/Seaside。我已经使用IDE中的重构功能重新命名并删除了一些我的方法和类。到现在为止还挺好。

但是,我很难删除覆盖父类的方法。例如,我有一个“MyClass”类,它是“WAComponent”的子类。我创建了一个覆盖父类中方法的方法“style”。

我决定我并不是真的需要重写“样式”,而是想重构方法>删除“样式”。此时,我收到以下提示“可能调用WAPresenter中的样式,浏览参考?”

我该如何继续?我只想要超级的“风格”方法,而不是我自己的覆盖。

非常感谢!

+0

你试过删除你的方法吗? – Marcin

+0

如果重构>删除是相同的删除,然后是我已经尝试,因为我在我的问题中描述 – Justin

回答

5

当您尝试删除一个方法;无论是重构浏览器,OmniBrowser还是标准浏览器;如果图像中有该消息的发件人,系统会发出警告。这让您有机会看到拆除的可能后果。这并不完美,因为a)在动态系统中,无法确定接收者是否是您班级的实例,以及b)它是否使用#perform捕获发件人:

在您的情况中,似乎有点令人困惑。另外,在Pharo 1.3中,无论您选择何种方式,似乎都不会删除该方法!但是,直接通过浏览器(Mac上的OmniBrowser中的Cmd-x或通过菜单)直接删除它是没有害处的,因为对此方法的任何调用都将转到超类。