2018-02-25 java对类的方法加强(二)

2018-02-25  本文已影响0人  紫杉叶子

装饰设计模式

1.装饰者和被装饰者实现同样的接口或者父类
2.被装饰者 必须要 传递给 装饰者 -----装饰者持有对被装饰者的引用

@Test
    public void test2() {
        
        DecratorCat cat = new DecratorCat(new Cat());
        
        cat.run();
    }

interface ICat{
    public void run();  
}

//被装饰者
class Cat implements ICat{
    
    public void run() {
        
        System.out.println("小猫在黑暗中抓住了一只老鼠....");
        
        
    }
    
}
//装饰者
class DecratorCat implements ICat{
    
    private ICat cat;
    
    public DecratorCat(ICat cat) {
        
        this.cat = cat;
        
        
    }
    
    
    @Override
    public void run() {
        //调用原有的逻辑
        cat.run();
        
        //同时可以添加自己的逻辑
        System.out.println("但是小猫今天牙疼.....");
        
    }
}
 
上一篇下一篇

猜你喜欢

热点阅读