码迷,mamicode.com
首页 > 其他好文 > 详细

装饰模式

时间:2015-09-13 23:15:51      阅读:412      评论:0      收藏:0      [点我收藏+]

标签:

 装饰( Decorator )模式又叫做包装模式。通过一种对客户端透明的方式来扩展对象的功能,是继承关系的一个替换方案。
 抽象组件角色: 一个抽象接口,是被装饰类和装饰类的父接口。
 package com.org.decorator;
    public interface Car {
    public void show();
    public void run();
}

 

具体组件角色:为抽象组件的实现类。




抽象装饰角色:包含一个组件的引用,并定义了与抽象组件一致的接口。
package com.org.decorator;
public abstract class CarDecorator implements Car{
    private Car car;
    
    public Car getCar() {
        return car;
    }

    public void setCar(Car car) {
        this.car = car;
    }

    public CarDecorator(Car car) {
        this.car = car;
    }
    
    public abstract void show();
}
具体装饰角色:为抽象装饰角色的实现类。负责具体的装饰。
package com.org.decorator;

public class SwimCarDecorator extends CarDecorator {

    public SwimCarDecorator(Car car) {
        super(car);
    }

    public void show() {
        this.getCar().show();
        this.swim();
    }
    
    public void swim() {
        System.out.println("?éò?ó?");
    }

    public void run() {
        
    }

}


装饰模式

标签:

原文地址:http://my.oschina.net/goudingcheng/blog/505640

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!