1

这应该是一个简单的问题。:)

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

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

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

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

非常感谢!

4

1 回答 1

5

当您尝试删除方法时;使用重构浏览器、OmniBrowser 或标准浏览器;如果图像中有该消息的发件人,系统会向您发出警告。这使您有机会了解删除的可能后果。它并不完美,因为 a) 在动态系统中,它无法确定接收者是否是您的类的实例,并且 b) 它不会使用 #perform 捕获发送者:

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

于 2011-12-07T17:54:24.643 回答