美文网首页
java装饰者模式

java装饰者模式

作者: Bury丶冬天 | 来源:发表于2017-09-30 23:04 被阅读0次

    java中增强方法的功能有三种方式

    • 1.通过继承,重写父类的方法,在调用super的基础上,再添加代码
    • 2.动态代理
    • 3.装饰着模式,java中比较熟悉的装饰者模式就是java中的IO,整个与IO相关的部分都是使用的装饰者模式

    下面就来聊一聊实现装饰者模式的过程:假如现在有一只猫,能跑,还能抓老鼠,那么通过装饰者模式的方式来写代码,先实现猫能跑,然后装饰这只能跑的猫,实现抓老鼠.

    1.首先定义一个接口,有一个run方法
    public interface ICat{
        void run();
    }
    
    2.实现接口,从而得到一个能跑的猫类
    public class Cat implements ICat{
        
        @Override
        public void run(){
            System.out.println("猫猫能跑");
        }
        
    }
    
    4.创建包装类,也实现ICat
    public void CatPack implements ICat{
        
        private ICat icat;
        
        public CatPack(ICat icat){
            this.icat=icat;
        }
        
        @Override
        public void run(){
            icat.run();
            System.out.println("猫猫还可以抓老鼠");
        }
        
    }
    
    5.测试
    public static void main(String[] args){
        ICat icat=new CatPack(new Cat());
        icat.run();
    }
    
    6.执行结果
    猫猫能跑
    猫猫还可以抓老鼠
    

    相关文章

      网友评论

          本文标题:java装饰者模式

          本文链接:https://www.haomeiwen.com/subject/hktoextx.html