代理模式的定义:给某个对象一个代理,有代理对象控制对原对象的引用.
业务需求:
火车站卖票只管出售,不会将票送到.我们要想在买完之后不用自己去取就拿到票.
需求分析:(通过继承式的静态代理模式实现)
1.建立一个火车站类.该类中有方法负责出票.
2.建立一个黄牛类.该黄牛帮我们买票后具有代理送票上门的功能.
代码实现:
package com.isoftstone.static_extend_proxy;
/**
* 火车站类
* @author 浮生若梦
*/
public class Station {
/**
* 火车站出票的方法.
*/
public void buyTicket(){
System.out.println("火车站出票成功!");
}
}
package com.isoftstone.static_extend_proxy;
/**
* 代理类,继承目标类
* @author 浮生若梦
*/
public class StationProxy extends Station{
/**
* 黄牛在火车站出票后可以增加送货上门服务.
*/
public void buyTicket(){
super.buyTicket();
System.out.println("送货车票服务!");
}
}
package com.isoftstone.static_extend_proxy;
/**
* 继承式静态代理测试类.
* @author 浮生若梦
*/
public class Test {
public static void main(String[] args) {
//1.创建代理类对象.
Station station = new StationProxy();
//2.买票的同时获得送票服务.
station.buyTicket();
//测试结果
/*火车站出票成功!
送货车票服务!*/
}
}