using UnityEngine;
using System.Collections;
using System;
public class car : MonoBehaviour {
private A a;
private A b;
private A c;
private A d;
private D e;
private C f;
void Start () {
a = new A();
b = new B();
c = new C();
d = new D();
e = new D();
f = new C();
a.Func(); // print A
b.Func(); // print B:A
c.Func(); // print B:A
d.Func(); // print A
e.Func(); // print D:A
f.Func(); // print B:A
}
public class A {
public virtual void Func()
{
Debug.Log("A");
}
}
public class B : A
{
public override void Func()
{
Debug.Log("B : A");
}
}
public class C : B
{
}
public class D : A
{
public new void Func()
{
Debug.Log("D : A");
}
}
}