オブジェクト指向 C#

C#の継承

このレッスンでは、親クラスを継承した子クラスを作り、コードを再利用しながら振る舞いをカスタマイズします。

はじめに

継承(inheritance)を使うと、新しいクラス(子クラス)が既存のクラス(親クラス)のデータとメソッドをすべて受け継ぎ、そのうえで振る舞いを追加したり変えたりできます。継承は「〜は〜の一種である」という関係を表し、たとえばプログラマーは社員の一種です。この関係が本当に成り立つときだけ使いましょう。

クラスEmployeeは社員の名前を保存し、virtualの付いたDescribe()メソッドを持っています。virtualは子クラスがオーバーライドしてよいという意味です。クラスDeveloperはEmployeeを継承し、Employee(name)で名前を親クラスに渡して、overrideでプログラミング言語の説明を加えます。結果はAda writes C#です。

実行できる C# の例

C#
コードを実行 →
Program.cs
using System;

class Employee(string name)
{
    public string Name { get; } = name;
    public virtual string Describe() => Name;
}

class Developer(string name, string language) : Employee(name)
{
    public override string Describe() => $"{Name} writes {language}";
}

class Program
{
    static void Main() => Console.WriteLine(new Developer("Ada", "C#").Describe());
}
実行結果
Ada writes C#

デバッガーで練習する

大事な代入や条件にブレークポイントを置いて Debug を押し、次の行に進む前にローカル変数の値を確かめましょう。

チャレンジで練習する

このレッスンの内容を使って実際の問題を解きましょう。各チャレンジはブラウザで動き、すぐにテストされ、AI のレビューも受けられます。

すべてのチャレンジ