サブクラス内で、継承された保護された非仮想メソッドをthis.Method()
orとして参照する必要がありbase.Method()
ますか?
を使用this
すると、同じ名前の新しいメソッドでメソッドを簡単に隠すことができます。base
基本クラスの実装のみを呼び出す必要があることが確実な場合にのみ、メソッドの呼び出しを明示的に指定する必要がありますか?
サブクラス内で、継承された保護された非仮想メソッドをthis.Method()
orとして参照する必要がありbase.Method()
ますか?
を使用this
すると、同じ名前の新しいメソッドでメソッドを簡単に隠すことができます。base
基本クラスの実装のみを呼び出す必要があることが確実な場合にのみ、メソッドの呼び出しを明示的に指定する必要がありますか?
Method
サブクラスで指定されたメンバーを追加し、継承されたメソッドを呼び出したい場合は、 を使用する必要がありますbase.Method()
。Method
より派生したクラスで名前が付けられたメンバーを追加しても、this.Method()
呼び出しの意味は変わりません。
常に を使用して呼び出しますthis.Method()
。
メソッドを非表示にする場合は、基本クラスのメソッドではなく、新しいメソッドを呼び出したいと思うでしょう。一方、基本クラスのメソッドを仮想化する場合は、多態的な方法で if を呼び出すコードを作成する必要があります。
未来を予測することは困難ですが、これらのシナリオが発生する可能性は高いと思われます。