JAVA設計模式之---代理模式(一)
阿新 • • 發佈:2018-12-14
前言
今天學習了代理模式,儘管只是對靜態代理有了一點理解,但還是非常開心的總結一下.-. 靜態代理 -. 繼承代理 -. 聚合代理
繼承代理
首先是要講述的是繼承代理 下面是我建立繼承代理的過程,如下:- 建立介面
package proxy.mayong.org;
public interface Moveable {
void move();//這裡定義一個方法
}
- 建立一個實現介面的類car
package proxy.mayong.org; import java.util.Random; public class car implements Moveable { @Override public void move() { //睡眠一會 try {//下面是睡眠一會,,也就是暫停一下. Thread.sleep(new Random().nextInt(1000));//引入包 shift + ctrl + o System.out.println("開車中...."); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
- 建立 繼承car 的car2
public void move() {
// 實現了父類的方法.
long startTime = System.currentTimeMillis();
System.out.println("開車了.....");
super.move();
long endTime = System.currentTimeMillis();//以秒為單位來計數
System.out.println("結束開車....");
System.out.println("共耗時"+(endTime-startTime)+"毫秒");
}
}
這樣,在測試類中,我們就可以建立car2的物件,然後呼叫move 方法.
聚合代理
(個人理解): 建立一個繼承主類的類, 同時 在內部重新編寫構造方法,傳入一個car,然後重寫起方法,對其進行封裝打包,,然後作為整體 可以傳入其他的 代理中. 這樣就實現了類似於巢狀的功能. 程式碼如下:- 建立 公共介面.