「Unity/Csharp/クラス/継承元から継承先実行」の版間の差分
提供: 初心者エンジニアの簡易メモ
行49: | 行49: | ||
} | } | ||
} | } | ||
+ | </pre> | ||
+ | |||
+ | サンプル実行方法 | ||
+ | </pre> | ||
+ | Cat cat = new Cat(); | ||
+ | cat.Call(); | ||
</pre> | </pre> |
2022年8月8日 (月) 15:13時点における版
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)で実行される。
abstract class Animal { public virtual void Call() { CallDebug(); } protected void CallDebug() { Debug.Log("---"); } } class Cat : Animal { public override void Call() { base.Call(); } public void CallDebug() { Debug.Log("nya"); } }
サンプル実行方法 </pre> Cat cat = new Cat(); cat.Call(); </pre>