A.cs为父类,B.cs为子类,B.cs继承A.cs
C.cs为另外一个脚本,新建一个 B.cs类型 的变量 X,X变量调用 父类 A.cs 的测试函数test_father
本文 为了 搞明白 ,如果 改变 B.cs 中的 属于父类A.cs的函数test_father。应该如何做
----------------------------------------------------------------------------------------------------------------------------------------
A.cs为父类,B.cs为子类,B.cs继承A.cs
C.cs为另外一个脚本,新建一个 B.cs类型 的变量 X,X变量调用 父类 A.cs 的测试函数test_father
看看效果
---------------------------------------------------------1.1一般的继承,并在新的脚本 调用 继承父类的子类的函数
Test_Father.cs:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Test_Father : MonoBehaviour {
public void test_father()
{
Debug.Log(" test_father ");
}
}
Test_Son.cs:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Test_Son : Test_Father {
// Use this for initialization
void Start () {
}
}
Test_FSChange:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Test_FSChange : MonoBehaviour {
private Test_Son ts;
// Use this for initialization
void Start () {
Test_Son ts = new Test_Son();
ts.test_father();
}
}
显示结果:
---------------------------------------------------------1.2
Test_Father.cs:没有发生改变
Test_FSChange:也没有发生改变
new, virtual,几种方式继承,现在一一测试
Test_Son.cs:使用参考资料 2 ,里面 的 virtual 方法 来改变 父类的函数
-------------------
1.2.1 使用virtual 继承
1.2.1.1 把virtual 关键字继承 放在 public 后,void 前面
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Test_Son : Test_Father {
public virtual void test_father()
{
Debug.Log(" test_son ");
}
}
显示结果: