js装饰者模式
来源:互联网 发布:aspen优化 编辑:程序博客网 时间:2024/06/07 06:23
二.装饰者模式
//定义构造函数(类)
function People(id,name,sex){
this.id=id;this.name=name;
this.sex=sex;
}
//类开始的初始方法
People.prototype.getInfo=function(){return "编号:"+this.id;
}
//扩张装饰方法
People.prototype.decorate=function(str){
//获得装饰者对象
var override=this.constructor.decorates[str];
//创建一个新的对象,这个对象继承this
var f=function(){};
f.prototype=this;
var instance=new f();
instance.uber= f.prototype;
//将装饰者的方法添加到这个新建的对象中
for(i in override){
if(override.hasOwnProperty(i)){
instance[i]=override[i];
}
}
return instance;
}
//装饰者对象都将以构造函数的属性这种方式实现
People.decorates={};
装饰者对象
getInfo:function(){
var info=this.uber.getInfo();
return info+="\n名字:"+this.name;
}
}
装饰者对象
getInfo:function(){
var info=this.uber.getInfo();
return info+="\n性别:"+this.sex;
}
}
调用:
var my=new People('01','cyt','男');
my=my.decorate('name');
my=my.decorate('sex');
console.log(my.getInfo());
=========================
//编号:01
//名字:cyt
//性别:男
=========================
0 0
- js装饰者模式
- js装饰者模式
- js装饰者模式
- js之装饰者模式
- JS设计模式之装饰者模式
- 【js设计模式笔记---装饰者模式】
- 【JS设计模式】装饰者模式
- JS设计模式之装饰者模式
- 【js设计模式笔记---装饰者模式】
- JS设计模式七:装饰者模式
- node.js 实现装饰者模式
- JS—Decorator(装饰者)模式
- js设计模式之装饰模式
- js设计模式-- 装饰着模式
- 装饰者模式(Derector)
- 装饰者模式
- Decorator 装饰者模式
- 装饰者设计模式
- IOS后台运行机制详解(一)
- 什么是类(class)成员函数
- IOS后台运行机制详解(二)
- Python中的OS模块
- cocos2dx C++调用java -- 字符串传递
- js装饰者模式
- ASP.Net Web API 中基于属性的路由使用
- 现在我给你两种选择,一学编程,二不学编程
- weakSelf的宏定义及用法
- matlab实现excel表格到Markdown表格
- jQuery超酷HTML DOM元素纸张3D折叠特效
- 常用数据结构--线性结构
- running bash commands in python
- 第一周项目二 长方体柱类