手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

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 设计模式之 简单工厂模式的实例介绍》讲解结束,谢谢

© 手抄报圈