博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Decorator装饰器模式
阅读量:4038 次
发布时间:2019-05-24

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

装饰器模式是一种结构型模式。

举个例子,比如说我们现在有一些没有皮肤的英雄,我们可以给这些英雄加点服饰,比如说戴个帽子,穿双鞋子等

简单来讲就是采用聚合方式,装饰器中聚合Hero,执行hero的方法的同时进行添加所需的装饰。

示例代码:

public abstract class Hero {    public abstract void showSkin();}public abstract class HeroDecorator extends Hero {    public Hero hero;    public HeroDecorator(Hero hero) {        this.hero = hero;    }}public class HatDecorator extends HeroDecorator {    public HatDecorator(Hero hero) {        super(hero);    }    @Override    public void showSkin() {        super.hero.showSkin();        System.out.println("戴帽子");    }}public class ShoesDecorator extends HeroDecorator {    public ShoesDecorator(Hero hero) {        super(hero);    }    @Override    public void showSkin() {        super.hero.showSkin();        System.out.println("穿鞋子");    }}public class FuWang extends Hero {    @Override    public void showSkin() {        System.out.println("展示斧王装饰");    }}public class Main {    public static void main(String[] args) {        FuWang fw = new FuWang();        HatDecorator hatDecorator = new HatDecorator(fw);        ShoesDecorator sd = new ShoesDecorator(hatDecorator);        sd.showSkin();    }}

 

 

 

 

转载地址:http://jhcdi.baihongyu.com/

你可能感兴趣的文章
慢慢欣赏linux phy驱动初始化2
查看>>
慢慢欣赏linux CPU占用率学习
查看>>
2020年终总结
查看>>
linux内核学习(4)建立正式内核的页式内存映射, 以x86 32位模式为例
查看>>
Homebrew指令集
查看>>
React Native(一):搭建开发环境、出Hello World
查看>>
React Native(二):属性、状态
查看>>
JSX使用总结
查看>>
React Native(四):布局(使用Flexbox)
查看>>
React Native(七):Android双击Back键退出应用
查看>>
Android自定义apk名称、版本号自增
查看>>
adb command not found
查看>>
Xcode 启动页面禁用和显示
查看>>
【剑指offer】q50:树中结点的最近祖先
查看>>
二叉树的非递归遍历
查看>>
【leetcode】Reorder List (python)
查看>>
【leetcode】Linked List Cycle (python)
查看>>
【leetcode】Linked List Cycle (python)
查看>>
【leetcode】Word Break(python)
查看>>
【剑指offer】面试题26:复杂链表的复制
查看>>