TECH I.S.

C# 継承


継承(派生クラスと基底クラス)

C#では、あるクラスから別のクラスにフィールドとメソッドを継承できます。
「継承の概念」を次の2つのカテゴリに分類します。

  • 派生クラス(子) - 別のクラスから継承するクラス
  • 基本クラス(親) - 継承元のクラス

クラスから継承するには、:記号を使用します。

以下の例では、Carクラス(子)は、Vehicleクラス(親)からフィールドとメソッドを継承します。

{.language-csharp .techis-white}
class Vehicle // base class (parent)
{
  public string brand = "Ford"; // Vehicle field
  public void honk() // Vehicle method
{                    
    Console.WriteLine("Tuut, tuut!");
  }
}
class Car : Vehicle // derived class (child)
{
  public string modelName = "Mustang"; // Car field
}
class Program
{
static void Main(string[] args)
{
// Create a myCar object
Car myCar = new Car();
// Call the honk() method (From the Vehicle class) on the myCar object
myCar.honk();
// Display the value of the brand field (from the Vehicle class) and the value of the modelName from the Car class
Console.WriteLine(myCar.brand + " " + myCar.modelName);
}
}

「継承」を使用する理由とタイミング

  • コードの再利用性に役立ちます。新しいクラスを作成するときに、既存のクラスのフィールドとメソッドを再利用します。

ヒント:ポリモーフィズムの章を見てください。継承されたメソッドを使用してさまざまなタスクを実行します。


封印されたキーワード

あるクラスを他のクラスに継承させたくない場合は、sealedキーワードを使用します。

sealedされたクラスにアクセスしようとすると、C#はエラーを生成します。
{.language-csharp .techis-white .techis-border-red}
sealed class Vehicle
{
...
}
class Car : Vehicle
{
...
}

エラーメッセージは次のようになります。

'Car': cannot derive from sealed type 'Vehicle'


プログラミング学習を加速させる

プログラミングをプロの講師に教えてもらいませんか。

テックアイエスのプログラミングスクールは初心者も大歓迎です。年齢制限もありません。転職・副業に強く、挫折させない手厚いサポートで稼ぐ力を身につけましょう!

スクールの詳細