將兩個不相關的類組合在一起使用,需要用到adapter模式。乙個是adaptee,乙個是adapter。
實際上,兩個不相關的類想要組合在一起使用,
可以修改類的介面, 但是,如果我們不想修改介面,或者根本沒有源**,就需要使用adapter模式。
實現方法:
有兩種方法,組合composition 和 繼承inheritance。
實現舉例:
1. 有兩個類 square和round,如果想要同時使用兩個類,就可以新建立乙個adapter類:
上圖可見,drawadapter繼承round, 同時在drawadapter類裡面定義了變數square,和建構函式。通過初始化這個adapter物件,就可以同時畫圓和方形,因為drawadapter同時還過載了drawround方法。
2. 如果想要兩邊繼承:
上圖說明,定義兩個介面iround 和isquare,這樣drawadapter就可以通過同時實現兩個介面來將兩個類組合起來使用。
同時在adapter類裡面定義兩個建構函式,乙個是square,乙個是round。
一分鐘sed入門(一分鐘系列)
1.簡介 sed是一種行編輯器,它一次處理一行內容。2.sed呼叫方式 sed options command file s sed options f scriptfile file s 第一種直接在命令列中執行,第二種把命令寫到了指令碼中,二者無本質區別。示例 1 列印hello.txt的內容 ...
一分鐘讀懂設計模式 工廠模式
1具體的工廠類有乙個create的方法,利用if switch返回具體產品2create方法通常時靜態,所以也叫靜態工廠。缺點 擴充套件性差,要增加乙個產品,還需要修改工廠類方法 不同產品需要不同額外的引數時,不支援。麵條,最好都用介面 public inte ce inoodles public ...
一分鐘看懂mysql 一分鐘,看懂易貨
從20世紀80年代開始,易貨公司在美國加拿大 澳大利亞等國興起,成為這些國家減少現金用量 增加銷售 減少庫存 開發新客戶 開闢新市場 促進經濟發展的重要產業。也成為了企業消化庫存商品 剩餘生產能力 無形資產的有效方式和在遭遇資金瓶頸時的新選擇。2015年以來,中國線下易貨店開始了矇眼狂奔,在河南南陽...