using UnityEngine;
public class Polymorphism : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
// 请注意,这里的变量“myFruit”的类型是
//Fruit,但是被分配了对 Apple 的引用。这是
//由于多态而起作用的。由于 Apple 是 Fruit,
//因此这样是可行的。虽然 Apple 引用存储
//在 Fruit 变量中,但只能像 Fruit 一样使用
Fruit myFruit = new Apple();
myFruit.SayHello();
myFruit.Chop();
// 这称为向下转换。Fruit 类型的变量“myFruit”
//实际上包含对 Apple 的引用。因此,
//可以安全地将它转换回 Apple 变量。这使得
//它可以像 Apple 一样使用,而在以前只能像 Fruit
//一样使用。
Apple myApple = (Apple)myFruit;
myApple.SayHello();
myApple.Chop();
}
}
public class Fruit
{
public Fruit()
{
Debug.Log("1st Fruit Constructor Called");
}
public void Chop()
{
Debug.Log("The fruit has been chopped.");
}
public void SayHello()
{
在UNITY中理解类的多态用简单例子来理解,记得断点调试运行下!
最新推荐文章于 2024-12-22 10:22:33 发布
