abstract 抽象クラス


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

例えば、PlayerとEnemyで移動に関して共通点がある場合などに、
共通して記述する方法として抽象クラスが使える
処理を共有できれば、メンテも一箇所で済む
(unityのRogueLikeGameなsampleで使用されている)

abstractは、継承されることが前提
overrideは継承した上で、書き換える場合に使う

抽象クラスの例
http://www.wisdomsoft.jp/416.html
abstract class MagicalGirl
{
    public abstract void Chant();
}
class Nanoha : MagicalGirl
{
   public override void Chant()
   {
       System.Console.WriteLine("風は空に、星は天に、不屈の心はこの胸に!");
   }
}
class CardCapter : MagicalGirl
{
   public override void Chant()
   {
       System.Console.WriteLine("闇の力を秘めし鍵よ、真の姿を我の前に示せ。");
   }
}
class Sample
{
   static void Main(string[] args)
   {
       MagicalGirl magicalGirl = new Nanoha();
       magicalGirl.Chant();
       magicalGirl = new CardCapter();
       magicalGirl.Chant();
   }
}