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 のレビューも受けられます。
すべてのチャレンジ