代理:将一个成员对象置于所要构造的类中(就像组合),但与此同时我们在新类中暴漏了该成员对象的所有方法(就像继承);俗称静态代理
示例如下:
public class SpaceShipControls {void up(int velocity) {}void down(int velocity) {}void left(int velocity) {}void right(int velocity) {}void forward(int velocity) {}void back(int velocity) {}void turboBoost() {}}public class SpaceShipDelegation {private String name;SpaceShipDelegation(String name){this.name =name;}//持有该对象得引用 具体干活的对象private SpaceShipControls shipControls = new SpaceShipControls();//暴漏SpaceShipControls的方法public void up(int velocity) {// 可以加上自己的处理shipControls.up(velocity);}public static void main(String... args){SpaceShipDelegation protector =new SpaceShipDelegation("NSEA Protector");protector.up(100);}}
