例えば、PlayerとEnemyで移動に関して共通点がある場合などに、
共通して記述する方法として抽象クラスが使える
処理を共有できれば、メンテも一箇所で済む
(unityのRogueLikeGameなsampleで使用されている)
abstractは、継承されることが前提
overrideは継承した上で、書き換える場合に使う
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();
}
}
最終更新:2015年05月30日 13:31