基类:Animal
子类:Dog,Pig,Bird
枚举:AnimalType
工厂方法:CreateAnimal
下面是代码
AnimalTest.cs文件,包含基类,子类和枚举
using UnityEngine;
namespace test1
{
//基类
public abstract class Animal
{
public abstract void Walk();
}
//子类
public class Dog : Animal
{
public override void Walk()
{
Debug.Log("Dog Walk");
}
}
//子类
public class Bird : Animal
{
public override void Walk()
{
Debug.Log("Bird Walk");
}
}
//子类
public class Pig : Animal
{
public override void Walk()
{
Debug.Log("Pig Walk");
}
}
//枚举
public enum AnimalType : int
{
dog,
bird,
pig
}
}
ClassTest.cs,测试类,包含CreateAnimal函数
using UnityEngine;
namespace test1
{
//测试类
public class ClassTest : MonoBehaviour
{
private void Start()
{
var animal = CreateAnimal(AnimalType.bird);
if (null != animal)
{
animal.Walk();
}
}
//工厂方法
private Animal CreateAnimal(AnimalType animalType)
{
switch (animalType)
{
case AnimalType.bird:
r