ホームページ > バックエンド開発 > C++ > メソッド シグネチャにおける「new」キーワードは何を意味しますか?

メソッド シグネチャにおける「new」キーワードは何を意味しますか?

Susan Sarandon
リリース: 2025-01-05 07:55:41
オリジナル
757 人が閲覧しました

What Does the `new` Keyword Mean in a Method Signature?

メソッド シグネチャの新しいキーワード

質問: メソッド シグネチャの新しいキーワードは何を意味しますか?

答え: メソッド シグネチャでは、新しいキーワードは、メソッドが、メソッドの基本クラス実装を隠す派生クラスの新しいメソッドであることを示します。これは、基本クラスで宣言された仮想メソッドをオーバーライドするためにのみ使用できる override キーワードとは異なります。

例:

次の基本クラスについて考えてみましょう。

public class Base
{
    public void BaseMethod() {}
}
ログイン後にコピー

次に、オーバーライドを使用して BaseMethod メソッドをオーバーライドする派生クラスを作成しましょうキーワード:

public class Derived : Base
{
    public override void BaseMethod() {}
}
ログイン後にコピー

この例では、override キーワードは、派生クラスの BaseMethod メソッドが基本クラス実装をオーバーライドしていることをコンパイラーに伝えます。

ただし、ここで別の派生メソッドを作成してみましょう。クラスを作成し、メソッド シグネチャで new キーワードを使用します。

public class AnotherDerived : Base
{
    public new void BaseMethod() {}
}
ログイン後にコピー

上記の例では、 new キーワードが使用されています。派生クラスは基本クラスの実装をオーバーライドしません。代わりに、基本クラスのメソッドと同じ名前の新しいメソッドが作成されます。

新規とオーバーライドの主な違い:

  • オーバーライド可能Methods: override キーワードは、基本クラスの仮想メソッドをオーバーライドする場合にのみ使用できます。新しいキーワードは、仮想メソッドと非仮想メソッドの両方を非表示にできます。
  • Visibility: オーバーライドされたメソッドは、基本クラス メソッドと同じか、それよりも派生した可視性を持つ必要があります。新しいメソッドには任意の可視性を設定できます。
  • 呼び出し: 同じ名前のメソッドが基本クラス参照から呼び出された場合、オーバーライドされたメソッドに対して基本クラスの実装が呼び出されます。ただし、新しいメソッドの場合は、派生クラスの実装が呼び出されます。

以上がメソッド シグネチャにおける「new」キーワードは何を意味しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート