1

うまくいけば、これは簡単な質問になるはずです。:)

ファロ/シーサイドを使用しています。IDE のリファクタリング機能を使用して、いくつかのメソッドとクラスの名前を変更し、削除しました。ここまでは順調ですね。

ただし、親クラスをオーバーライドするメソッドを削除するのに苦労しています。たとえば、「WAComponent」をサブクラス化するクラス「MyClass」があります。親クラスのメソッドをオーバーライドするメソッド「スタイル」を作成しました。

結局、「スタイル」をオーバーライドする必要はなく、メソッドのリファクタリング > 「スタイル」の削除を行いたいと判断しました。この時点で、「WAPresenter でスタイルを呼び出す可能性があります。参照を参照しますか?」というプロンプトが表示されます。

続行するにはどうすればよいですか?自分のオーバーライドではなく、スーパーの「スタイル」メソッドが必要です。

どうもありがとう!

4

1 に答える 1

5

メソッドを削除しようとしたとき。リファクタリング ブラウザ、OmniBrowser、または標準ブラウザのいずれかを使用。そのメッセージの送信者が画像に含まれている場合、システムは警告します。これにより、削除の可能性のある影響を確認する機会が得られます。a) 動的システムでは、受信者がクラスのインスタンスであるかどうかを確認できず、b) #perform を使用して送信者をキャッチできないため、完全ではありません。

あなたの場合、メッセージは少し混乱しているように見えます。また、Pharo 1.3 では、何を選択してもメソッドが削除されないようです! ただし、ブラウザ (Mac の OmniBrowser では Cmd-x またはメニューから) から直接削除しても害はありません。このメソッドへの呼び出しはすべてスーパークラスに送られるからです。

于 2011-12-07T17:54:24.643 に答える