C# オブジェクト指向プログラミングの動物を用いた簡単なサンプルコード例
基本のクラス:Animal(動物)
まずは基本となる Animal クラスを作成します。このクラスは動物が持つ共通の特性(プロパティ)と行動(メソッド)を定義します。
解説
Animalクラス:すべての動物の基本となるクラスです。動物が共通して持つ「名前」という属性と、「鳴く」という基本的な行動を定義しています。
Dogクラス:Animal クラスを継承し、特有の振る舞い(Woof!と鳴く)を実装しています。Speak メソッドは virtual で定義されているため、派生クラスで override(オーバーライド)して振る舞いを変更することができます。
ポリモーフィズム:Animal 型の変数 myPet に Dog インスタンスを格納し、Speak メソッドを呼び出すと、Dog クラスで定義された Speak メソッドが実行されます。これがポリモーフィズムの一例です。
public class Animal
{
public string Name { get; set; } // 動物の名前
public Animal(string name) // コンストラクタ
{
Name = name;
}
public virtual void Speak() // 動物が鳴く行動
{
Console.WriteLine($"{Name} makes a sound.");
}
}
public class Dog : Animal
{
public Dog(string name) : base(name) { }
public override void Speak() // Speak メソッドをオーバーライド(上書き)
{
Console.WriteLine($"{Name} says: Woof!");
}
}
class Program
{
static void Main(string[] args)
{
Animal genericAnimal = new Animal("Some animal");
genericAnimal.Speak(); // "Some animal makes a sound."
Dog myDog = new Dog("Rex");
myDog.Speak(); // "Rex says: Woof!"
// ポリモーフィズムのデモ
Animal myPet = new Dog("Fido");
myPet.Speak(); // "Fido says: Woof!"
}
}
この記事が気に入ったらサポートをしてみませんか?