設計模式之"代理模式"設計模式
前提須知:具有面向對象的設計思惟 了多態的概念 瞭解反射機制this
靜態代理
繼承方式
建立一個類,
而後繼承你須要代理的類
而後寫一個方法
調用父類的方法(super.mavo())便可
在調用先後增長方法設計
public class Car2 extends Car { public void move(){ ...... super.move(); ...... } }
弊端:假如代理對象有不少種實現方法,可是由於繼承只能繼承一個,因此要創N種代理類
不建議使用代理
聚合方式 什麼是聚合?一個類中調用另外一個對象
建立一個類
建立你須要代理的對象
寫構造方法,把傳進來的代理對象進來賦值
寫一個方法
直接經過對象來引用方法
在調用先後增長方法code
public class Car2 { public Car2(Car car){ super(); this.car=car; } private Car car; public void move(){ ...... car.move(); ...... } }
相對繼承方式比較靈活,
弊端:
對象