找回密码
 立即注册

微信登录

只需一步,快速开始

QQ登录

只需一步,快速开始

搜索
查看: 455|回复: 0

[教程] aardio设计模式之简单工厂模式

[复制链接]
  • TA的每日心情
    无聊
    2024-3-3 20:52
  • 签到天数: 5 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    10

    主题

    5

    回帖

    116

    积分

    版主

    积分
    116
    来自: 中国广东广州
    发表于 2024-1-22 17:04:31 | 显示全部楼层 |阅读模式 来自: 中国广东广州
    非业余 - aardio 编程语言 - 非官方问答社区
    限时85折!暑假期间,用aardio培训班充实自己!https://mp.weixin.qq.com/s/c4Z8sZPOiMh_OTG2VPOJmA
    Aardio培训大揭秘,轻松上手打造个人项目!https://mp.weixin.qq.com/s/cr47qhp_Cpz0p57lbbPwug
    aardio风行者第二期培训班https://mp.weixin.qq.com/s/uB6XHUDnGSk0JlWuiBE9AA
    本帖最后由 axuanup 于 2024-1-23 09:32 编辑
    1. //简单工厂模式
    2. import console;

    3. //运算类
    4. class operation{
    5.     ctor(){};
    6.     numberA = 0;
    7.     numberB = 0;
    8.     getResult = function(){
    9.         var result = 0;
    10.         return result;  
    11.     }
    12. }

    13. //加法类
    14. class operationAdd{
    15.     ctor(){
    16.         this = ..operation();
    17.     };
    18.     getResult = function(){
    19.         var result = 0;
    20.         result = this.numberA + this.numberB;
    21.         return result;  
    22.     }
    23.    
    24. }

    25. //减法类
    26. class operationSub{
    27.     ctor(){
    28.         this = ..operation();
    29.     };
    30.     getResult = function(){
    31.         var result = 0;
    32.         result = this.numberA - this.numberB;
    33.         return result;  
    34.     }
    35. }

    36. //乘法类
    37. class operationMul{
    38.     ctor(){
    39.         this = ..operation();
    40.     };
    41.     getResult = function(){
    42.         var result = 0;
    43.         result = this.numberA * this.numberB;
    44.         return result;  
    45.     }
    46. }

    47. //除法类
    48. class operationDiv{
    49.     ctor(){
    50.         this = ..operation();
    51.     };
    52.     getResult = function(){
    53.         var result = 0;
    54.         result = this.numberA / this.numberB;
    55.         return result;  
    56.     }
    57. }

    58. //简单运算工厂类
    59. class operationFactory{
    60.     ctor(operate){
    61.         var oper = null;
    62.         select(operate) {
    63.             case "+" {
    64.                 oper = ..operationAdd();
    65.             }
    66.             case "-"{
    67.                 oper = ..operationSub();
    68.             }
    69.             case "*" {
    70.                 oper = ..operationMul();
    71.             }
    72.             case "/"{
    73.                 oper = ..operationDiv();
    74.             }
    75.         }
    76.         return oper;
    77.     };
    78. }

    79. var oper = operationFactory("*")

    80. oper.numberA = 8;

    81. oper.numberB = 2;

    82. var result = oper.getResult()

    83. console.log(result)

    84. console.pause(true);
    复制代码


    非业余 - aardio 编程语言 - 非官方问答社区
    限时85折!暑假期间,用aardio培训班充实自己!https://mp.weixin.qq.com/s/c4Z8sZPOiMh_OTG2VPOJmA
    Aardio培训大揭秘,轻松上手打造个人项目!https://mp.weixin.qq.com/s/cr47qhp_Cpz0p57lbbPwug
    aardio风行者第二期培训班https://mp.weixin.qq.com/s/uB6XHUDnGSk0JlWuiBE9AA
    回复

    使用道具 举报

    *滑块验证:
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|非业余 - aardio 编程语言 - 非官方问答社区 知道创宇云防御

    GMT+8, 2024-11-3 21:01 , Processed in 0.123227 second(s), 27 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表