MENU

C#継承とインターフェイス

C#プログラミングを学ぶ上で、継承とインターフェイスは避けて通れない重要な概念です。これらを理解し適切に使用することで、柔軟で再利用性の高いコードを書くことができます。この記事では、C#における継承とインターフェイスについて、初心者の方にも分かりやすく解説します。

目次

C#継承の基本

C#の継承とは、既存のクラス(基底クラス)の特性を新しいクラス(派生クラス)に引き継ぐ機能です。これにより、コードの再利用性が高まり、階層的なクラス設計が可能になります。

基本的な継承の構文は以下のとおりです:

public class 派生クラス名 : 基底クラス名
{
    // 派生クラスの内容
}

具体的な例を見てみましょう:

public class Vehicle
{
    public string Brand { get; set; }
    public virtual void Start()
    {
        Console.WriteLine($"{Brand}の車両が始動します。");
    }
}

public class Car : Vehicle
{
    public override void Start()
    {
        base.Start();
        Console.WriteLine("エンジンがかかりました。");
    }
}

public class ElectricCar : Vehicle
{
    public override void Start()
    {
        base.Start();
        Console.WriteLine("モーターが起動しました。");
    }
}

この例では、CarクラスとElectricCarクラスがVehicleクラスを継承しています。両クラスはVehicleクラスのBrandプロパティを継承し、Start()メソッドをオーバーライドしています。

C#インターフェイスの基本

インターフェイスは、クラスが実装すべきメソッドやプロパティの契約を定義します。C#では、一つのクラスが複数のインターフェイスを実装できます。

インターフェイスの基本的な構文は以下のとおりです:

public interface インターフェイス名
{
    // メソッドやプロパティの宣言
}

以下は、インターフェイスを使用した例です:

public interface IChargeable
{
    void Charge();
}

public class ElectricCar : Vehicle, IChargeable
{
    public override void Start()
    {
        base.Start();
        Console.WriteLine("モーターが起動しました。");
    }

    public void Charge()
    {
        Console.WriteLine("電気自動車を充電中です。");
    }
}

class Program
{
    static void Main(string[] args)
    {
        ElectricCar tesla = new ElectricCar { Brand = "Tesla" };
        tesla.Start();
        tesla.Charge();
    }
}

この例では、ElectricCarクラスがVehicleクラスを継承し、同時にIChargeableインターフェイスを実装しています。

C#継承とインターフェイスの違い

  1. 多重継承: C#ではクラスの多重継承はサポートされていませんが、複数のインターフェイスを実装することができます。
  2. 実装: 継承ではメソッドの実装を引き継ぎますが、インターフェイスは実装を持たず、クラスで実装する必要があります。
  3. 用途: 継承は「is-a」関係を表現するのに適していますが、インターフェイスは「can-do」関係を表現するのに適しています。

C#継承とインターフェイスのメリット

  1. コードの再利用: 継承により共通の機能を基底クラスにまとめることで、コードの重複を避けられます。
  2. 拡張性: インターフェイスを使用することで、クラスに新しい機能を柔軟に追加できます。
  3. 柔軟性: インターフェイスを通じて、異なる型のオブジェクトを統一的に扱えます。
  4. 保守性: クラス階層が明確になり、コードの保守が容易になります。

まとめ

C#の継承とインターフェイスは、オブジェクト指向プログラミングの核心的な概念です。継承を使ってコードを再利用し、インターフェイスを使って柔軟な設計を実現することで、効率的で保守性の高いプログラムを作成できます。初心者の方は、まずは基本的な継承の概念を理解し、徐々にインターフェイスの活用に挑戦してみてください。これらの概念を使いこなすことで、より洗練されたC#プログラミングが可能になります。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次