设计模式-装饰模式-java-中文版

码上见分晓!
中文版本的设计模式详解,案例中的代码尽量使用了中文.
以游戏和生活中较好理解的场景讲解设计模式的实际用法,便于理解吸收,让设计模式的学习不再困难!!!
更多设计模式欢迎来到我的开源项目设计模式中文版

https://gitee.com/nightrunner/chinese-version-of-design-patterns

/**
 * 给狮鹫上个心灵之火!!
 */
public class 装饰器模式主程序 {
    public static void main(String[] args) {
        狮鹫接口 狮鹫 = new 狮鹫();
        狮鹫.显示外观();
        System.out.println("狮鹫.获取攻击力() = " + 狮鹫.获取攻击力());
        System.out.println("狮鹫.获取护甲值() = " + 狮鹫.获取护甲值());

        System.out.println();

        狮鹫接口 心灵之火狮鹫 = new 心灵之火狮鹫(狮鹫);
        心灵之火狮鹫.显示外观();
        System.out.println("心灵之火狮鹫.获取攻击力() = " + 心灵之火狮鹫.获取攻击力());
        System.out.println("心灵之火狮鹫.获取护甲值() = " + 心灵之火狮鹫.获取护甲值());
    }
}

interface 狮鹫接口 {
    Double 获取护甲值();

    Double 获取攻击力();

    void 显示外观();
}

class 狮鹫 implements 狮鹫接口 {
    @Override
    public Double 获取护甲值() {
        return 5D;
    }

    @Override
    public Double 获取攻击力() {
        return 40D;
    }

    @Override
    public void 显示外观() {
        System.out.println("我是一只威武的狮鹫,翱翔在天空");
    }
}

class 心灵之火狮鹫 implements 狮鹫接口 {
    狮鹫接口 狮鹫;

    心灵之火狮鹫(狮鹫接口 狮鹫) {
        this.狮鹫 = 狮鹫;
    }

    @Override
    public Double 获取护甲值() {
        return 狮鹫.获取护甲值() + 5;
    }

    @Override
    public Double 获取攻击力() {
        return 狮鹫.获取攻击力() * 1.1;
    }

    @Override
    public void 显示外观() {
        狮鹫.显示外观();
        System.out.println("我头上有一个大大的心灵之火BUFF");
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值