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-08-12 12:06:43 发布
本文通过Unity游戏引擎中的C#编程语言,深入浅出地讲解了多态这一面向对象编程核心概念。通过具体实例,演示如何在Unity中实现多态,并建议读者使用断点调试以更好地理解和掌握。
摘要由CSDN通过智能技术生成