オーバーライド修飾子とは何ですか?
C# では、override 修飾子を使用して、基本クラスまたはインターフェイスで既に宣言されているメソッドまたはプロパティの新しい実装を作成できます。これにより、派生クラスの継承メンバーの動作を変更できます。メソッドまたはプロパティをオーバーライドすると、そのメンバーに独自の実装を提供できます。これにより、基本クラスまたはインターフェイスによって提供される実装が置き換えられます。
オーバーライド修飾子の使用方法
オーバーライド修飾子を使用するには、次の手順に従う必要があります。
- オーバーライドするメソッドまたはプロパティを含む基本クラスまたはインターフェイスを継承します。
- 派生クラスで、同じ名前とシグネチャを持つ新しいメソッドまたはプロパティを宣言します。
- メソッドまたはプロパティの宣言の前に override キーワードを使用して、継承されたメンバーをオーバーライドしていることを示します。
これをより深く理解するために、ここに例を示します。
名前に関数「Start」が含まれる「Vehicle」という基本クラスを考えてみましょう。 Start メソッドは、車両が始動したことを示すメッセージをコンソールに出力するだけです。ここで、「Car」という名前の新しいクラスを作成するとします。このクラスは、Vehicle クラスから継承されますが、Start メソッドに独自の実装を提供します。 override 修飾子を使用してこれを実現する方法は次のとおりです。
システムの使用 ;
クラス車両
{
パブリック バーチャル 空所 始める ( )
{
コンソール。 書き込み行 ( 「車両が始動しました。」 ) ;
}
}
クラスカー : 車両
{
公開オーバーライド 空所 始める ( )
{
コンソール。 書き込み行 ( 「車が発車しました。」 ) ;
}
}
クラス プログラム
{
静的 空所 主要 ( 弦 [ ] 引数 )
{
車両車両 = 新車 ( ) ;
車両。 始める ( ) ; // 出力: 車両が始動しました。
車の車 = 新車 ( ) ;
車。 始める ( ) ; // 出力: 車が始動しました。
}
}
ここでは、「Vehicle」クラスを継承する「Car」という新しいクラスを作成しました。また、「Vehicle」クラスのメソッドと同じ名前とシグネチャを使用して、「Car」クラスで「Start」という新しいメソッドを宣言しました。オーバーライド修飾子を使用して、継承されたメソッドをオーバーライドしていることを示しました。
Main では、Vehicle クラスと Car クラスの両方のインスタンスを作成し、それらの Start メソッドを呼び出しました。 Vehicle オブジェクトで Start メソッドを呼び出すと、「Vehicle started」がコンソールに出力されます。 Car オブジェクトで Start メソッドを呼び出すと、「Car started」がコンソールに出力されます。これは、派生クラスで Start メソッドを正常にオーバーライドしたことを示しています。
結論
C# のオーバーライド修飾子は、継承されたメンバーの動作を変更できる強力なツールです。基本クラスまたはインターフェイスで既に定義されているメソッドまたはプロパティに独自の実装を提供するために使用されます。 C# でオーバーライド修飾子を使用する方法について説明し、簡単な例でその使用法を示しました。 override 修飾子を使用することで、基本クラスから継承するが独自の動作を提供する、より特殊化されたクラスを作成できます。