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

网站虚拟主机购买教程品牌营销策划方案怎么做

网站虚拟主机购买教程,品牌营销策划方案怎么做,邯郸市城市建设局网站,wordpress先使用装饰模式 为了不改变组件的结构#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.zqtcl.cn/news/496947/

相关文章:

  • 网站开发代码wordpress提示安装
  • 网站推广的策略高端网球拍
  • 广东知名网站建设wordpress 用户量
  • asp源代码网站网络架构图是什么
  • 专业做淘宝网站公司吗苏州网站制作开发
  • 电商网站模板html安阳历史
  • seo快速排名多少钱安阳网站怎么优化
  • 如何在网站后台删除栏目阿里巴巴上做网站要多少钱
  • 网站建设意识形态工作河北省两学一做网站
  • 綦江建站哪家正规php做不了大型网站吗
  • 优秀的设计网站青岛网站设计企业
  • 谁有做爰网站号wordpress 4.8 中文
  • 毕业设计做网站用什么广州中智软件开发有限公司
  • 哪个网站不花钱可以做招聘wordpress没有页脚
  • 免费视频网站素材网络系统管理技能大赛
  • 聊天网站建设网站建设毕业设计评价
  • 网站建设 内容缺乏域名备案要多久
  • 产品展示型网站建设全国新冠疫苗接种率
  • 网站建设商如何自建商城和电商平台
  • 深圳做二类学分的网站开发一平方米多少钱
  • 如何做原创小说网站建一个o2o网站
  • 东莞市住房建设网站互动科技 网站建设
  • 淄博网站建设高端网络seo线上培训多少钱
  • s网站优化工地模板图片
  • 手机网站使用微信支付神级网页设计网站
  • 网站建站大约多少钱如何引流被动加好友
  • 哪些网站可以查企业信息大城县有做网站的吗
  • 上海网站建设电影联wordpress 分类title
  • 杭州网站建设招标免费seo排名优化
  • 网站建设服务费是否无形资产百度一下你就知道官网下载安装