装饰者模式

装饰者模式动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。
和代理模式很相似,但在对被装饰的对象的控制程度是不同的;装饰者模式是对对象功能的加强,
而代理模式是对对象施加控制,并不提供对对象本身功能的加强。
package com.bdqn.cn.dao;

class Car{
    private String carName;
    public Car(String carName)
    {
        this.carName=carName;
    };
    public void show()
    {
        System.out.println("我是"+carName+"具有本功能");
    };
}
class RadarCar{
    public Car myCar;
    public RadarCar(Car myCar)
    {
        super();
        this.myCar=myCar;
    };
    public void show()
    {
        myCar.show();
        System.out.println("具有打电话功能");
    };
}


public class zhuangshizhe {
    public static void main(String[] args)
    {
        Car car=new Car("小米");
        car.show();
        System.out.println("============");
        RadarCar myCar=new RadarCar(car);
        myCar.show();
    };
}

原文地址:https://www.cnblogs.com/yz-bky/p/12887780.html