面接の必需品!ココと超を読み解く:職場初心者必読!

こんにちは、みんな!Xiaomi は今日、興味深いトピックについて話したいと思います。それは、インタビューでよく聞かれる質問についてです。「これ」と「スーパー」の違いは何ですか? これから職場に就職しようとしている多くの友人にとって、これは徹底的に理解する必要がある質問です。早速、本題に入りましょう!

これは何ですか?

まず、これが何であるかを理解しましょう。オブジェクト指向プログラミングでは、これは現在のオブジェクトへの参照を表すキーワードですオブジェクトのメソッドを呼び出すとき、またはそのプロパティにアクセスするとき、 this キーワードを使用して、現在操作されているオブジェクトを指すことができます。このようにして、メソッド内で現在のオブジェクトのプロパティにアクセスして変更したり、他のメソッドを呼び出したりすることができます。

たとえば、「sayHello」メソッドを持つ「person」というクラスがあります。

この例では、 this.name は現在のオブジェクトの name 属性を指します。「Xiaomi」という名前の Person オブジェクトを作成し、その SayHello メソッドを呼び出すと、「こんにちは、私の名前は Xiaomi です」と出力されます。

超って何?

次に、スーパーキーワードについて学びましょう。super はキーワードでもあり、親クラス (またはスーパークラス) への参照を表します。継承関係では、サブクラスは super キーワードを使用して、プロパティやメソッドなどの親クラスのメンバーにアクセスできます。これは、親クラスの機能を拡張するとき、または親クラスのメソッドをオーバーライドするときに非常に便利です。

たとえば、親クラス「Animal」とサブクラス「Dog」があります。

この例では、Dog クラスは親クラス Animal の makeSound メソッドをオーバーライドし、super.makeSound() を使用して親クラスのメソッドを呼び出します。その場合、出力は次のようになります。

これと超の違いは

それで、これとスーパーの違いは何ですか?要約しましょう:

  • オブジェクトは異なります。これは現在のオブジェクトに作用し、そのオブジェクト自体のプロパティとメソッドにアクセスするために使用されますが、super は親クラスに作用し、親クラスのプロパティとメソッドにアクセスするために使用されます。
  • 使用シナリオは異なります。これは、ローカル変数とインスタンス変数を区別するため、またはコンストラクター内で他のコンストラクターを呼び出すためにメソッド内でよく使用されます。スーパーは、親クラスのメソッドをオーバーライドしたり、サブクラスのコンストラクターで親を呼び出すためにサブクラスでよく使用されます。クラスの構築方法。
  • 関連付けられたオブジェクトは異なります。これはメソッドを呼び出すオブジェクトを指す現在のオブジェクトに関連付けられ、super はサブクラス内の親クラスのメンバーにアクセスするために使用される親クラス オブジェクトに関連付けられます。
  • 呼び出しメソッドは異なります。これは現在のクラスのメソッドを呼び出しますが、スーパーは親クラスのメソッドを呼び出します。

終わり

今日の共有を通じて、私たちはオブジェクト指向プログラミングにおける this と super という 2 つのキーワードの役割と違いを詳しく学びました。面接ではこの2つのキーワードについてもっと自信を持って答えられるようになるといいですね!

面接では、専門的な知識に加えて、コミュニケーションスキルや明確な表現も非常に重要であることを忘れないでください。このトピックについて質問がある場合は、コメント欄にメッセージを残してください。1つずつお答えします。同時に、皆さんも自分の面接経験を共有し、一緒にコミュニケーションをとり、一緒に進歩することも歓迎します。

さて、今日のシェアはここまでです!皆さんがそれぞれのキャリアパスをさらに前進し、学び、成長し続けることを願っています。また次回、バイバイ〜

ご質問や技術的な共有がある場合は、私の WeChat 公開アカウント「それが何なのか、なぜなのかを知る」をフォローしてください。

おすすめ

転載: blog.csdn.net/en_joker/article/details/132535314