Unity/Csharp/クラス/継承元から継承先実行
virtual,overrideをつけるとCallDebug()が継承先(Cat)で実行される。
abstract class Animal
{
public virtual void Call()
{
CallDebug();
}
protected virtual void CallDebug()
{
Debug.Log("---");
}
}
class Cat : Animal
{
public override void Call()
{
base.Call();
}
public override void CallDebug()
{
Debug.Log("nya");
}
}
virtual,overrideを消すとCallDebug()が継承元(Animal)で実行されるのでng
abstract class Animal
{
public virtual void Call()
{
CallDebug();
}
public void CallDebug()
{
Debug.Log("---");
}
}
class Cat : Animal
{
public override void Call()
{
base.Call();
}
public void CallDebug()
{
Debug.Log("nya");
}
}
サンプル実行方法
Cat cat = new Cat(); cat.Call();