Unity 设计模式之 简单工厂模式的实例介绍

 时间:2024-10-19 04:58:34

1、打开Unity,新建一个空工程,具体如下图

Unity 设计模式之 简单工厂模式的实例介绍

2、在工程中,新建几个脚本,然后双击打开,具体如下图

Unity 设计模式之 简单工厂模式的实例介绍

3、脚本的具体代码和代码内容如下图

Unity 设计模式之 简单工厂模式的实例介绍
Unity 设计模式之 简单工厂模式的实例介绍
Unity 设计模式之 简单工厂模式的实例介绍
Unity 设计模式之 简单工厂模式的实例介绍
Unity 设计模式之 简单工厂模式的实例介绍
Unity 设计模式之 简单工厂模式的实例介绍
Unity 设计模式之 简单工厂模式的实例介绍

4、Operation 脚本具体内容如下:usingSystem.Collections;usingSystem.Collectio荏鱿胫协ns.Generic;usingUnityEngine;///<summary>///计算器操作运算符的基类///</summary>publicclassOperation{//参数 privatedouble_numberA=0; privatedouble_numberB=0;publicdoubleNumberA{ get{ return_numberA; } set{ _numberA=value; } } publicdoubleNumberB{ get{ return_numberB; } set{ _numberB=value; } }///<summary> ///Getstheresult,结果运算虚函数. ///</summary> ///<returns>Theresult.</returns> publicvirtualdoubleGetResult(){ doubleresult=0; returnresult; }}

5、OperationAdd脚本具体内容如下:usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;///<summary>///加法运算///</summary>publicclassOperationAdd:Operation{///<summary> ///Getstheresult,结果运算重载函数. ///</summary> ///<returns>Theresult.</returns> publicoverridedoubleGetResult(){doubleresult=0; result=NumberA+NumberB;returnresult; }}

6、OperationSub脚本具体内容如下:usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;///<summary>///减法运算.///</summary>publicclassOperationSub:Operation{///<summary> ///Getstheresult,结果运算重载函数. ///</summary> ///<returns>Theresult.</returns> publicoverridedoubleGetResult(){doubleresult=0; result=NumberA-NumberB;returnresult; }}

7、OperationMul脚本具体内容如下:usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;///<summary>///乘法运算///</summary>publicclassOperationMul:Operation{///<summary> ///Getstheresult,结果运算重载函数. ///</summary> ///<returns>Theresult.</returns> publicoverridedoubleGetResult(){doubleresult=0; result=NumberA*NumberB;returnresult; }}

8、OperationDiv脚本具体内容如下:usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;usingSystem;///<summary>///除法运算///</summary>publicclassOperationDiv:Operation{///<summary> ///Getstheresult,结果运算重载函数. ///</summary> ///<returns>Theresult.</returns> publicoverridedoubleGetResult(){doubleresult=0;if(NumberB==0) thrownewException("除数不能为0"); result=NumberA/NumberB;returnresult; }}

9、SimpleOperationFactory脚本具体内容如下:usingSystem.Collections;usingSystem.Collections.Gener足毂忍珩ic;usingUnityEngine;///<summary>///Simpleoperationfactory.///</summary>publicclassSimpleOperationFactory{///<summary> ///Createstheoperate. ///</summary> ///<returns>Theoperate.</returns> ///<paramname="operate">Operate.</param> publicstaticOperationCreateOperate(stringoperate){ Operationoper=null;switch(operate){ case"+": oper=newOperationAdd(); break;case"-": oper=newOperationSub(); break;case"*": oper=newOperationMul(); break;case"/": oper=newOperationDiv(); break; }returnoper; }}

10、Test脚本具体内容如下:usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;publicclassTest:MonoBehaviour{//Usethisforinitialization voidStart(){Operationoper=newOperation();oper=SimpleOperationFactory.CreateOperate("*"); oper.NumberA=2; oper.NumberB=6; doubleresult=oper.GetResult();Debug.Log("2*6="+result); } //Updateiscalledonceperframe voidUpdate(){ }}

11、脚本编译正确,回到Unity界面,在场景中新建一个 GameObject,并把 Test 脚本赋给 GameObject,具体如下图

Unity 设计模式之 简单工厂模式的实例介绍

12、运行场景,控制台 Console 打印如下图

Unity 设计模式之 简单工厂模式的实例介绍

13、到此,《Unity 设计模式之 简单工厂模式的实例介绍》讲解结束,谢谢

  • 花样面食的简单做法
  • 做个中式面点师你有想过吗
  • 攻城三国攻占都城最节约资源方法?
  • 好看视频如何开启异地登录保护
  • 人的长寿秘诀是什么 齐白石长寿方
  • 热门搜索
    法制教育手抄报 二年级数学手抄报 消防手抄报 数学手抄报内容 关于汉字的手抄报 爱国主义手抄报 读书手抄报图片 手抄报图画 爱路护路手抄报 科技手抄报