抽象类的主要作用:定义一个产品簇,声明必备的方法,如果子类没有重写就会抛出错误.

var abstructFactory = function(child,father){if(typeof abstructFactory[father] === 'function'){function tempClass(){};tempClass.prototype = new abstructFactory[father]();child.constructor = child;child.prototype = new tempClass();}else{throw new Error('no abstructFactory');}
}
//抽象工厂方法abstructFactory.ball = function(){this.title = '球';
}
abstructFactory.ball.prototype = {info : function(){return new Error("can't use abstructFactory function");},action : function(){return new Error("can't use abstructFactory function");}
}
//球类抽象类var football = function(){this.title = '足球';
}abstructFactory(football,'ball');
football.prototype.info = function(){console.log(this.title);
}
football.prototype.action = function(){console.log('踢球');
}//继承的子类var obj = new football();
obj.info();
obj.action();

js 抽象工厂模式相关推荐

  1. js 抽象工厂模式B

    // 接口var Interface = function(name, methods) { if (arguments.length != 2) { throw new Error("In ...

  2. 设计模式(6)[JS版]-JavaScript如何实现抽象工厂模式?

    目录 1 学习目标 2 什么是抽象工厂模式? 3 抽象工厂模式作用 4 工厂模式参与者 5 代码实现 1 学习目标 通过本篇文章的学习,你应当掌握以下知识: 1 知道什么是抽象工厂模式? 2 掌握抽象 ...

  3. js设计模式抽象工厂模式

    抽象工厂模式(Abstract Factory) 通过类的抽象使得业务适用于一个产品类簇的创建,而不负责创建某一类产品的实例. JS中是没有直接的抽象类的,因此我们需要在类的方法中抛出错误来模拟抽象类 ...

  4. JS学习六(抽象工厂模式)

    简介 抽象工厂其实是实现子类继承父类的方法,只是一个方法.抽象工厂模式一般用在多人协作的超大型项目中,并且严格的要求项目以面向对象的思想进行完成. 实例 // 抽象工厂方法var abstractFa ...

  5. 抽象工厂模式 java实例 tclhaier_Unity常用的设计模式_工厂模式系列之抽象工厂模式...

    在工厂方法模式中,工厂只负责生产具体的产品,每一个具体的工厂对应着一个具体的产品,工厂方法也具有唯一性,如果有时候我们需要一个工厂方法提供多个产品而不是一个单一的产品,例如:海尔品牌不止生产海尔TV, ...

  6. 编程模式 之美 -- 抽象工厂模式

    文章目录 1. 解决问题 2. 应用场景 3. 实现如下: C++实现 C语言实现 4. 缺点 1. 解决问题 在工厂方法模式中,我们卖衣服.此时我们为每一种衣服创建不同的工厂,帽子有一个工厂专门创建 ...

  7. 工厂方法模式和抽象工厂模式

    工厂方法模式和抽象工厂模式 工厂方法模式 抽象工厂模式 总结: 工厂方法模式 #include <string> #include <iostream>// Abstract ...

  8. 抽象工厂模式AbstractFactory

    简介 抽象工厂模式(Abstract Factory Pattern):提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类.抽象工厂模式又称为Kit模式,属于对象创建型模式. 不同点 ...

  9. 工厂方法模式与抽象工厂模式的区别

    工厂方法模式: 一个抽象产品类,可以派生出多个具体产品类. 一个抽象工厂类,可以派生出多个具体工厂类. 每个具体工厂类只能创建一个具体产品类的实例. 抽象工厂模式: 多个抽象产品类,每个抽象产品类可以 ...

最新文章

  1. [YTU]_2354 (H 实现复数类中的加运算符重载【C++运算符重载】)
  2. python提交post请求payload webkit_python爬虫实现POST request payload形式的请求
  3. 信息系统项目管理知识--信息系统建设
  4. qemu核心机制分析-协程coroutine
  5. 软件技术支持职责和能力要求(偏软件方向)
  6. liferay jsp如何得到某个文件如 ”language.properties
  7. OPGL+GLFW+GLEW配置详细步骤
  8. 调查谋杀案以换取Obra Dinn
  9. Android之如果解决Android studio项目里面的类名不能重命名
  10. 无法将 char 值转换为 money。该 char 值的语法有误。_java 基础语法 (下)
  11. JS 通过选择百度地图地址获取经纬度自动填充到文本框中的方法
  12. gd公文文件转换成pdf格式
  13. matlab直方图 | 不用imhist循环实现,imhist检验
  14. codeblock调试
  15. python中id是什么意思_什么是python的id函数
  16. 图片的单点触摸移动与多点触摸移动缩放
  17. Spring Boot 2.2.x Junit4 升级为Junit5 后的变化、对比 找不到 org.junit.jupiter.api.Test
  18. Android组件化跨进程通信框架Andromeda解析
  19. 生命不息学习不止 分析几个大牛爱用的在线笔记工具
  20. XMU2018摸底测试 星际战争I(Easy)

热门文章

  1. node 服务器端启动
  2. 乐高无限自己地图无法服务器,乐高无限地图模组怎么添加-乐高无限地图模组添加方法-7k7k游戏...
  3. 在Unity中为即时战略游戏实现战争迷雾(下)
  4. Python 整数类型除法
  5. Android Binder—APP-framework(mRemote的前世今生)
  6. Solidworks -2-SW最上面的草图绘制工具栏不见了?
  7. Adaptive Query Execution: Speeding Up Spark SQL at Runtime
  8. 数据宝藏“淘金热”,腾讯云大数据愿做“卖铲人”
  9. 苹果机器备份文件服务器,苹果手机iPhone怎么备份数据?iOS备份数据步骤流程一览...
  10. 全景也要更清晰,基于RK3588核心板的8K全景相机方案【飞凌嵌入式】