私は現在、私の大学でイントロレベルのCSコースを取っています。私の教授はsuper.method()
ではなくの使用を主張しています。オーバーライドのない場合のスーパーvs.これの使用
例:スーパークラスgetOneIntersectingObject()
からメソッドを呼び出しています。スーパークラスにあるので、通常super.getOneIntersectingObject()
を使用して呼び出します。しかし、私の教授は私にthis.getOneIntersectingObject()
を使ってそれを呼びたいと思っています。
私はthis
は現在のクラスを検索し、任意のスーパークラス内の任意の同様のmethod()
という名前の上にそのmethod()
を実行し、私の質問はこれであることを理解:
あなたがメソッドをオーバーライドしていない場合は、なぜthis
を使うのか?これはちょうど一般的なプログラミングのエチケットですか?
ここに実際のコードを表示できますか? 'this.method()'は 'super.method()'とは異なり、2つは必ずしも並置されているわけではありません。 –
'this.method()'は常に冗長ですが。 – chrylis
@chrylisではない*常に*、ちょうどよく。 –