Java類關係之代理(代理模式)
在Java中,如果一個類需要使用另一個類的方法,我們可以使用繼承的方式實現,那麼問題來了,如果這個類恰恰在邏輯關係上不能使用繼承怎麼辦呢?比如說,飛機和控制檯這兩個類,控制檯的方法有上下左右前進後退,飛機需要使用控制檯的方法,使用繼承合適嗎?很顯然,這樣是不合理的。
這時候,我們可以用飛機這個類來代理控制檯這個類,啥意思呢?
貼上程式碼就明白了!
控制檯類:
public class PlaneContral {
public void up(int v){
System.out.println("飛機以"+v+"km/h的速度上升");
}
public void down(int v){
System.out.println("飛機以"+v+"km/h的速度下降");
}
public void forward(int v){
System.out.println("飛機以"+v+"km/h的速度前進");
}
public void back(int v){
System.out.println("飛機以"+v+"km/h的速度後退");
}
public void left(int v){
System.out.println("飛機以"+v+"km/h的速度左轉");
}
public void right(int v){
System.out.println("飛機以"+v+"km/h的速度右轉");
}
}
飛機類:
public class Plane {
private PlaneContral pc = new PlaneContral();
public void up(int v){
pc.up(v);
}
public void down(int v){
pc.down(v);
}
public void forward(int v){
pc.forward(v);
}
public void back(int v){
pc.back(v);
}
public void left(int v){
pc.left(v);
}
public void right(int v){
pc.right(v);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Plane p = new Plane();
p.forward(200);
p.back(100);
}
}
就是在飛機這個類的成員變數中例項化一個控制檯的物件,再用飛機類的方法來代理控制檯的方法。
相關文章
- Java設計模式之代理模式Java設計模式
- Java基礎之代理模式Java模式
- Java設計模式之(五)——代理模式Java設計模式
- Java設計模式-類之間的關係Java設計模式
- 12.java設計模式之代理模式Java設計模式
- Java代理之靜態代理Java
- 23種設計模式之代理模式(靜態代理)設計模式
- Java設計模式-代理模式Java設計模式
- Java設計模式—代理模式Java設計模式
- 【java】類之間的關係Java
- Java設計模式之七 —– 享元模式和代理模式Java設計模式
- 設計模式之代理模式設計模式
- 《設計模式》之代理模式設計模式
- 設計模式:代理模式是什麼,Spring AOP還和它有關係?設計模式Spring
- Java 中的代理模式Java模式
- Java靜態代理模式Java模式
- 設計模式之代理設計模式
- Java 設計模式(四)《代理模式》Java設計模式
- 設計模式總結——代理模式以及java的動態代理設計模式Java
- Javascript設計模式之代理模式JavaScript設計模式
- 機場&代理商-關係圖
- Java的三種代理模式Java模式
- 代理模式 - 動態代理模式
- 大型Java進階專題(六)設計模式之代理模式Java設計模式
- 設計模式之代理模式(proxy pattern)設計模式
- 23天設計模式之代理模式設計模式
- 設計模式漫談之代理模式設計模式
- C++設計模式之代理模式C++設計模式
- Java進階篇設計模式之七 —– 享元模式和代理模式Java設計模式
- Java進階篇設計模式之七 ----- 享元模式和代理模式Java設計模式
- 代理模式模式
- Java中的三種代理模式Java模式
- Java中的代理模式(Proxy Pattern)Java模式
- 不學無數——Java代理模式Java模式
- C++設計模式之Proxy模式(代理模式)C++設計模式
- JavaScript設計模式經典之代理模式JavaScript設計模式
- 設計模式之代理模式(結構型)設計模式
- 網頁抓取與IPIDEA代理IP的關係網頁Idea