博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
javascript模式——Decorator
阅读量:4316 次
发布时间:2019-06-06

本文共 835 字,大约阅读时间需要 2 分钟。

Decorator 模式是一种结构型模式,他意在促进代码的复用,是塑造子类的一个方式。

 

这种想法是基于,新增的属性,对于对象来说不是必须的基本功能。我们为特殊的对象添加自己的方法,而不是重新创建一个类。

用代码表示起来比较清晰,我们的汽车是一个基类,我们要创建轿车,卡车等各有特性的交通工具时,不是通过创建汽车子类或是卡车子类,而是向汽车实例或卡车实例的具体实例中添加新的属性方法。

function vehicle( vehicleType ){    // 类共有的属性    this.vehicleType = vehicleType || 'car',    this.model = 'default',    this.license = '00000-000'}// 测试创建一个对象var testInstance = new vehicle('car');console.log(testInstance);// turck对象var truck = new vehicle('truck');// 这里针对truck需要添加truck特有的方法,这就是装饰truck.setModel = function( modelName ){    this.model = modelName;}truck.setColor = function( color ){    this.color = color;}// 测试特殊对象的特有方法是否可用truck.setModel('CAT');truck.setColor('blue');console.log(truck);// 基本类vehicle并没有改变var secondInstance = new vehicle('car');console.log(secondInstance);

 

转载于:https://www.cnblogs.com/winderby/p/4329182.html

你可能感兴趣的文章
经典排序算法回顾:选择排序,快速排序
查看>>
BZOJ2213 [Poi2011]Difference 【乱搞】
查看>>
c# 对加密的MP4文件进行解密
查看>>
Flask 四种响应类型
查看>>
AOP面向切面编程C#实例
查看>>
怎么让win7右下角只显示时间不显示日期 ?(可行)
查看>>
AngularJs学习笔记-慕课网AngularJS实战
查看>>
数据库三大范式
查看>>
工作总结之二:bug级别、优先级别、bug状态
查看>>
访问修饰符、封装、继承
查看>>
更换pip源到国内镜像,提升pip下载速度.
查看>>
POJ 2265 Bee Maja (找规律)
查看>>
Kendo MVVM 数据绑定(七) Invisible/Visible
查看>>
DB Intro - MySQL and MongoDB
查看>>
Practical Mathematical Handwriting
查看>>
[zz]kvm环境使用libvirt创建虚拟机
查看>>
bzoj1059 [ZJOI2007]矩阵游戏
查看>>
JDK配置步骤
查看>>
springcloud微服务实战--笔记
查看>>
View(视图)——菜单Menu
查看>>