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

气血不足做网站淄博做网站的公司都有哪些

气血不足做网站,淄博做网站的公司都有哪些,中企网站建设,淄博网站建设好的公司装饰模式 为了不改变组件的结构#xff0c;动态地扩展其功能。 通常#xff0c;扩展功能通过子类进行#xff0c;但是继承的方式具有静态特征#xff0c;耦合度高。 意图#xff1a;动态地给对象添加额外的功能 主要解决#xff1a;继承方式是静态特征#xff0c;扩…装饰模式 为了不改变组件的结构动态地扩展其功能。 通常扩展功能通过子类进行但是继承的方式具有静态特征耦合度高。 意图动态地给对象添加额外的功能 主要解决继承方式是静态特征扩展的功能多的时候子类会太膨胀 何时使用不想增加很多子类的时候扩展类 1 假设情景 一个宝可梦可以睡觉吃饭放技能如果要扩展它的行为比如Mega进化后假设有专属的Mega技能然后极巨化可以放极巨技能。 宝可梦接口抽象组件Component public interface Pokemon {void sleep();void eat();void spell(); }**宝可梦实现类**具体组件Concrete Component 有皮卡丘和菊草叶两种实现类作为具体的组件 public class Pikachu implements Pokemon{Overridepublic void sleep() {System.out.println(Pikachu is sleeping...);}Overridepublic void eat() {System.out.println(Pikachu is eating...);}Overridepublic void spell() {System.out.println(Pikachu is spelling...);} }public class Chikorita implements Pokemon{Overridepublic void sleep() {System.out.println(Chikorita is sleeping...);}Overridepublic void eat() {System.out.println(Chikorita is eating...);}Overridepublic void spell() {System.out.println(Chikorita is spelling...);} }**宝可梦变化装饰器**抽象装饰Decorator 用抽象类方便扩展多种装饰以应对宝可梦可能有的多种变化 abstract class PokemonDecorator implements Pokemon{Pokemon pokemon;public PokemonDecorator(Pokemon pokemon) {this.pokemon pokemon;}Overridepublic void sleep() {pokemon.sleep();}Overridepublic void eat() {pokemon.eat();}Overridepublic void spell() {pokemon.spell();} }**宝可梦具体变化**具体装饰Concrete Decorator 实现了Mega进化和极巨化两种变化 public class MegaPokemon extends PokemonDecorator{public MegaPokemon(Pokemon pokemon) {super(pokemon);}public void megaSpell(){super.spell();System.out.println(Mega Power!);} }public class DymaxPokemon extends PokemonDecorator{public DymaxPokemon(Pokemon pokemon) {super(pokemon);}public void dymaxSpell(){super.spell();System.out.println(Dymax Power!);} }测试类 public class DecoratorDemo {public static void main(String[] args) {Pokemon chikorita new Chikorita();Pikachu pikachu new Pikachu();DymaxPokemon dymaxPikachu new DymaxPokemon(pikachu);MegaPokemon megaPikachu new MegaPokemon(pikachu);MegaPokemon megaChikorita new MegaPokemon(chikorita);pikachu.spell();dymaxPikachu.dymaxSpell();megaPikachu.megaSpell();megaChikorita.megaSpell();} }Pikachu is spelling... Pikachu is spelling... Dymax Power! Pikachu is spelling... Mega Power! Chikorita is spelling... Mega Power!至此再回头看是否实现我们的意图动态地给一个对象添加一些额外的职责。 2 吐槽 本来宝可梦只有吃饭睡觉放技能但是随着版本更迭宝可梦还增加了Mega进化极巨化在不用子类扩展的情况下可以使用装饰模式当需要扩展新功能的时候比如在朱紫版本增加了太晶化我们只需要新写一个PokemonDecorator的子类CrystalPokemon实现新功能不还是用子类扩展了吗。。。所以装饰模式的缺点就是装饰类太多的时候比较复杂。。。
http://www.w-s-a.com/news/333062/

相关文章:

  • 思创医惠网站建设微网站是手机网站吗
  • 宁波海曙网站建设市场营销管理
  • 网站被降权了怎么办做网站网页维护手机App开发
  • 营销型网站建设熊掌号tomcat 网站开发
  • 东莞网站建设seo广州 flash 网站
  • js网站评论框租房网站那些地图区域统计怎么做的
  • 企业门户网站平台建设招标采购文件长沙做网站找哪家好
  • 关于实验室建设的英文网站图文分销系统开发
  • wordpress 媒体库管理自己的网站什么做优化
  • 网站建设基本流程价格厦门seo网站推广
  • 辽宁响应式网站建设价格企业所得税率
  • 网站编辑及seo招聘上海做网站公司做网站的公司
  • 杭州四喜做网站建设么ja.wordpress.org
  • 旅游网站策划书企业公司名字大全
  • 营销型网站的标准郑州新密网站建设
  • 建设网站的公司管理公司网站设计
  • 手机网站有什么区别是什么意思不让网站开发公司进入后台
  • 网站正在建设中_敬请期待做宠物店网站
  • 个体营业执照可以做网站服务吗宣传品牌网站建设
  • 做平台是做网站和微信小程序的好别邯郸捕风科技有限公司
  • 公司做哪个网站比较好巴顿品牌设计官网
  • 济宁北湖建设局网站我要推广
  • mc网站的建设大型网站开发
  • 给网站做推广一般花多少钱全国最大的外发加工网
  • linux 网站301江西seo推广方案
  • c2c电子商务网站定制开发wordpress html单页
  • 查询网站空间商自己做的网站如何放到微信
  • 现在网站开发哪个语言好月嫂公司网站建设构思
  • 腾讯云免费网站建设网站设计一级网页
  • 网站备案系统验证码出错的解决方案wordpress+论坛+注册