黑马程序员技术交流社区

标题: 【广州校区】+【原创】装饰设计模式 [打印本页]

作者: 余大麻    时间: 2019-3-21 11:25
标题: 【广州校区】+【原创】装饰设计模式
本帖最后由 余大麻 于 2019-3-21 11:26 编辑

装饰设计模式
[Java] 纯文本查看 复制代码
A a = c;
B b = new B(c);
class B implement A {
    private A a;
    public B(A a)  {
        this.a = a;
    }
    //需要增强的方法
    public void close() {
        ...   
    }
    //需要增强的方法
    public void commit() {
        ...
    }
}


[Java] 纯文本查看 复制代码
//1.实现同一个接口Connection
public class MyConnection implements Connection {
    //3.定义一个变量
    private Connection conn;
    private LinkedList<Connection> pool;
    // 2.编写一个构造方法(参数使用了面相对象的多态特性)
    public MyConnection(Connection conn,LinkedList<Connection> pool) {
        this.conn=conn;
        this.pool=pool;
    }
    //4.书写需要增强的方法
    @Override
    public void close() throws SQLException {
        pool.add(conn);
    }
    /**
     * 此方法必须覆盖!否则会出现空指针异常!!!
     */
    @Override
    public PreparedStatement prepareStatement(String sql) throws SQLException {
        return conn.prepareStatement(sql);
    }
}









欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2