C# の子クラスのコンストラクターから基本クラスのコンストラクターを呼び出す
- C# の子クラスのコンストラクターから基本クラスのデフォルトコンストラクターを呼び出す
-
C# の
base
キーワードを使用して、子クラスのコンストラクターから基本クラスのコンストラクターに引数を渡する
このチュートリアルでは、C# の子クラスのコンストラクターから基本クラスのコンストラクターを呼び出すメソッドについて説明します。
C# の子クラスのコンストラクターから基本クラスのデフォルトコンストラクターを呼び出す
C# では、子クラスのインスタンスを作成すると、基本クラスのデフォルトコンストラクターがコンパイラーによって自動的に呼び出されます。この現象は、以下のコード例に示されています。
using System;
namespace call_constructor_of_base_class {
public class baseClass {
public baseClass() {
Console.WriteLine("This is the Base Class");
}
}
public class childclass : baseClass {
public childclass() {
Console.WriteLine("This is the Child Class");
}
}
class Program {
static void Main(string[] args) {
childclass c = new childclass();
}
}
}
出力:
This is the Base Class
This is the Child Class
上記のコードでは、baseClass
は基本クラスであり、childclass
は baseClass
を継承する子クラスです。子クラス childclass
のインスタンスを作成すると、baseClass
のデフォルトコンストラクタがコンパイラによって自動的に呼び出されます。baseClass
のコンストラクターは、childclass
のコンストラクターの前に実行されます。このメソッドを使用して、子クラスのコンストラクターから基本クラスのコンストラクターに引数を渡すことはできません。
C# の base
キーワードを使用して、子クラスのコンストラクターから基本クラスのコンストラクターに引数を渡する
子クラスのコンストラクターから基本クラスのコンストラクターに引数を渡したい場合は、base
キーワードを使用する必要があります。base
キーワードは、子クラスのインスタンスが作成されるときに基本クラスのどのコンストラクターが呼び出されるかを指定します。次のコード例は、C# で base
キーワードを使用して、子クラスのコンストラクターから基本クラスのコンストラクターに引数を渡す方法を示しています。
using System;
namespace call_constructor_of_base_class {
public class baseClass {
public baseClass() {
Console.WriteLine("This is the Base Class");
}
public baseClass(int x) {
Console.WriteLine("The Child class passed {0} to the Base Class", x);
}
}
public class childclass : baseClass {
public childclass(int a) : base(a) {
Console.WriteLine("This is the Child Class");
}
}
class Program {
static void Main(string[] args) {
childclass c = new childclass(10);
}
}
}
出力:
The Child class passed 10 to the Base Class
This is the Child Class
上記のコードでは、子クラス childclass
のコンストラクターから基本クラス baseClass
のパラメーター化されたコンストラクターに 10 を渡します。
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn