「Unity/Csharp/クラス/継承元から継承先実行」の版間の差分
提供: 初心者エンジニアの簡易メモ
行25: | 行25: | ||
</pre> | </pre> | ||
− | virtual,overrideを消すとCallDebug()が継承元(Animal) | + | virtual,overrideを消すとCallDebug()が継承元(Animal)で実行されるのでng |
<pre> | <pre> | ||
abstract class Animal | abstract class Animal |
2022年8月8日 (月) 15:20時点における版
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"); } }
サンプル実行方法 </pre> Cat cat = new Cat(); cat.Call(); </pre>