js 抽象工厂模式

来源:互联网 发布:java生成文件夹目录 编辑:程序博客网 时间:2024/06/04 19:39

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

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();
原创粉丝点击