当前位置: 首页 > news >正文

动易学校网站北京微信公众号网站建设

动易学校网站,北京微信公众号网站建设,设计机构,国建设文化艺术协会网站一.装饰器模式职责: 动态的为一个对象增加新的功能;装饰器是一种用于代替继承的技术,无须通过继承增加子类就能扩展对象的新功能,使用对象的关联关系代替继承关系,更加灵活,同时避免类型体系的快速膨胀。 …

一.装饰器模式职责:

  • 动态的为一个对象增加新的功能;
  • 装饰器是一种用于代替继承的技术,无须通过继承增加子类就能扩展对象的新功能,使用对象的关联关系代替继承关系,更加灵活,同时避免类型体系的快速膨胀。

二.装饰器模式优点:

  • 扩展对象功能比较灵活,不会导致类个数急剧增加;
  • 可以对一个对象进行多次装饰,创作出不同行为的组合,得到功能更加强大的对象;
  • 具体构建类和具体装饰类可以独立变化,用户可以根据需要自己增加新的具体构建子类和具体装饰子类。

三.装饰器模式缺点:

  • 产生很多小对象,大量小对象占据内存,一定程度上影响性能;
  • 装饰模式易于出错,调试排查比较麻烦。

四.装饰器模式总结:

  • 装饰器模式也叫包装器模式
  • 装饰器模式降低系统的耦合度,可以动态的增加或删除对象的职责,并使得需要装饰的具体构建类和具体装饰类可以独立变化,以便增加新的具体构建类和具体装饰类。

五.代码实现

  • 1.抽象组件

/*** 抽象组件角色*/
public interface ICar {/*** 移动*/void move();
}
  • 2.具体组件角色

/*** 具体组件角色(真实角色)*/
public class Car implements ICar{@Overridepublic void move() {System.out.println("陆地跑。。。。");}
}
  • 3.装饰器角色

/*** 装饰器角色*/
public class SuperCar implements ICar{public ICar car;public SuperCar(ICar car) {this.car = car;}@Overridepublic void move() {car.move();}
}
  • 4.具体装饰器角色

/*** 天上飞。。。。*/
public class flyCar extends SuperCar{public flyCar(ICar car) {super(car);}public void fly(){System.out.println("天上飞。。。。");}@Overridepublic void move() {super.move();fly();}
}
/*** 水中游。。。。*/
public class WaterCar extends SuperCar{public WaterCar(ICar car){super(car);}public void swim(){System.out.println("水中游。。。。");}@Overridepublic void move() {super.move();swim();}
}
/*** 自动跑。。。。*/
public class IDCar extends SuperCar{public IDCar(ICar car) {super(car);}public void autoMove(){System.out.println("自动跑。。。。");}@Overridepublic void move() {super.move();autoMove();}
}
  • 5.装饰器调用

/*** 装饰器模式*/
public class App {public static void main(String[] args) {Car car=new Car();car.move();System.out.println("=======添加新功能:飞。。。。");flyCar fly=new flyCar(car);fly.move();System.out.println("=======添加新功能:飞、。。。。游、、、、");WaterCar water=new WaterCar(fly);water.move();}
}



更多设计模式学习:

          设计模式(1):介绍
          设计模式(2):单例模式
          设计模式(3):工厂模式
          设计模式(4):建造者模式
          设计模式(5):原型模式
          设计模式(6):桥接模式
          设计模式持续更新中…

http://www.yayakq.cn/news/969809/

相关文章:

  • 英文购物网站模板下载高校 门户网站 建设背景
  • 实战网站开发如何做pdf电子书下载网站
  • 如何做拍卖网站网站设计网址
  • seo对网站优化开一个建筑公司容易吗
  • 郑州网站搭建的公司成都如何寻找做网站的
  • 做网站注意大墨免费空间申请
  • 帮企业建设网站和维护网站空间就是服务器吗
  • ftp网站上传 方法怎么查看网站ftp地址
  • 仿素材下载网站源码中铁建设集团个人门户网
  • 网站诊断案例购物网站推广怎么做
  • 中国建设银行网站地址急切网在线制作
  • 网站建设 6万贵不贵上海门户网站制作公司
  • 做电影下载网站还赚钱吗中英文双语网站怎么做
  • 常用的设计师网站怎么关闭网站安全检测
  • 潍坊 优化型网站建设闸北集团网站建设
  • 服装网站案例免费cn域名注册
  • 做网站如何赚广费山西百度推广开户
  • 湘潭做网站价格优选磐石网络wordpress autopost
  • 如何选择购物网站建设网站设计师简介
  • 网站ip指向列表icp许可证
  • 电商网站开发需求中国做网站找谁
  • 基于 seajs 的高性能网站开发和优化实践_王保平(淘宝)莘县网站建设价格
  • 网站没有收录WordPress页面构建器
  • 运城网站建设运城天气信誉好的龙岗网站设计
  • 手机如何创网站网站自动采集更新
  • 做的比较好的返利网站知乎惠州私人做网站联系人
  • 给朋友做的相册网站没有了东台建设网站
  • 网站分析报告范文2000淘宝客 备案 网站名称
  • 灵璧县建设局网站手机建网站步骤
  • 企业网站功能包括wordpress百度流量统计