博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android开发 装饰者模式
阅读量:4457 次
发布时间:2019-06-08

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

1.

package test;

interface Dongwu {
    void eat();
}

2.

package test;

public class Gou implements Dongwu{
    public void eat() {
        // TODO Auto-generated method stub
        System.out.println("我是小狗");
    }
}

3.

package test;

public class Mao implements Dongwu{
    @Override
    public void eat() {
        // TODO Auto-generated method stub
        System.out.println("我是小猫");
    }
    
}

4.

package test;

public class ADongwu implements Dongwu{
    private Dongwu dongwu;
    public ADongwu(Dongwu dongwu) {
        // TODO Auto-generated constructor stub
        this.dongwu = dongwu;
    }
    @Override
    public void eat() {
        // TODO Auto-generated method stub
        System.out.println("A家的动物吃饭前要先跑一跑");
        dongwu.eat();
    }
    
}

5.

package test;

public class BDongwu implements Dongwu{
    private Dongwu dongwu;
    public BDongwu(Dongwu dongwu) {
        // TODO Auto-generated constructor stub
        this.dongwu = dongwu;
    }
    @Override
    public void eat() {
        // TODO Auto-generated method stub
        System.out.println("B家的动物吃饭先要先跳一跳");
        dongwu.eat();
    }
}

6.

package test;

public class Test {
    public static void main(String args []) {
        Gou gou = new Gou();
        ADongwu a = new ADongwu(gou);
        a.eat();
        
        Gou gou2 = new Gou();
        BDongwu b = new BDongwu(gou2);
        b.eat();
    }
}

转载于:https://www.cnblogs.com/ningxiaoge/p/5286815.html

你可能感兴趣的文章
扫描目录下的文件并拼接在一起
查看>>
ELK 分布式日志处理 10.12
查看>>
Java虚拟机详解05----垃圾收集器及GC参数
查看>>
7. 单位,移动布局
查看>>
inux中bin与sbin目录的作用及区别介绍
查看>>
USACO 3.1 Contact
查看>>
Office之什么是高内聚低耦合
查看>>
一些奇怪的问题求回答
查看>>
这些年踩过的坑
查看>>
iOS开发拓展篇——如何把项目托管到GitHub
查看>>
性能优化之数据库优化
查看>>
类的继承、菱形继承、派生、多态
查看>>
mysql约束
查看>>
javascript鼠标及键盘事件总结及案例
查看>>
mysql表之间的关系及级联操作
查看>>
mac 搭建virtualenv的那些坑
查看>>
多路复用IO模型
查看>>
并发、串行、并行及多道技术原理
查看>>
hashlib、pickle、hmac、logging模块使用
查看>>
javascript常用知识点总结
查看>>