装饰者模式动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。
和代理模式很相似,但在对被装饰的对象的控制程度是不同的;装饰者模式是对对象功能的加强,
而代理模式是对对象施加控制,并不提供对对象本身功能的加强。
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();
};
}