欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

實例解析Java設(shè)計模式編程中的適配器模式使用

適配器模式的主要作用是在新接口和老接口之間進行適配,通過將一個類的接口轉(zhuǎn)換成客戶期望的另一個接口,讓原本不兼容的接口可以合作無間,本文以實例解析Java設(shè)計模式編程中的適配器模式使用,需要的朋友可以參考下

成都創(chuàng)新互聯(lián)服務(wù)項目包括文昌網(wǎng)站建設(shè)、文昌網(wǎng)站制作、文昌網(wǎng)頁制作以及文昌網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,文昌網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到文昌省份的部分城市,未來相信會繼續(xù)擴大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

平時我們會經(jīng)常碰到這樣的情況,有了兩個現(xiàn)成的類,它們之間沒有什么聯(lián)系,但是我們現(xiàn)在既想用其中一個類的方法,同時也想用另外一個類的方法。有一個解決方法是,修改它們各自的接口,但是這是我們最不愿意看到的。這個時候Adapter模式就會派上用場了。

p > Adapter模式也叫適配器模式,是由GoF提出的23種設(shè)計模式的一種。Adapter模式是構(gòu)造型模式之一,通過Adapter模式,可以改變已有類(或外部類)的接口形式。

適配器 模式 有三種方式,一種是對象適配器,一種是類適配器, 一種是接口適配器

以下舉例說明:

1.類適配器

實例解析Java設(shè)計模式編程中的適配器模式使用

public class DrawRectangle {//畫方 
 public void drawRectangle(String msg) { 
  System.out.println("draw Rectangle: " + msg); 
 } 
} 
public interface IDrawCircle {//畫圓的接口 
 void drawCircle(); 
} 
/** 
 * 類適配器 使用對象繼承的方式,是靜態(tài)的定義方式 
 * @author stone 
 * 
 */
public class DrawAdapter4Class extends DrawRectangle implements IDrawCircle {//既能畫方又能畫圓 
 @Override
 public void drawCircle() { 
  System.out.println("DrawAdapter4Class: drawCircle"); 
 }   
}

2.對象適配器

/** 
 * 對象適配器: 使用對象組合的方式,是動態(tài)組合的方式。 
 * 既能畫方又能畫圓 
 * @author stone 
 * DrawAdapter是適配器,DrawRectangle屬于adapter,是被適配者,適配器將被適配者和適配目標(DrawCircle)進行適配 
 * 
 */
public class DrawAdapter4Object implements IDrawCircle {//既能畫方又能畫圓  
 private DrawRectangle drawRectangle; 
 public DrawAdapter4Object(DrawRectangle drawRectangle) { 
  this.drawRectangle = drawRectangle; 
 }  
 @Override
 public void drawCircle() { 
  System.out.println("DrawAdapter4Object: drawcircle"); 
 }   
 public void drawRectangle(String msg) { 
  drawRectangle.drawRectangle(msg); 
 }   
} 

3.接口適配器

/* 
 * 接口適配器:接口中有抽象方法,我們只想實現(xiàn)其中的幾個,不想全部實現(xiàn), 
 * 所以提供一個默認空實現(xiàn),然后繼承自它,重寫實現(xiàn)我們想實現(xiàn)的方法 
 */
public interface IDraw { 
 void drawCircle(); 
 void drawRectangle(); 
} 
/* 
 * 接口適配器 的默認實現(xiàn) 
 */
public class DefaultDrawAdapter implements IDraw {//畫方 畫圓 皆為空實現(xiàn) 
 @Override
 public void drawCircle() { 
 } 
 @Override
 public void drawRectangle() { 
public class Test { 
 public static void main(String[] args) { 
  //對象適配器 
  DrawAdapter4Object objAdapter = new DrawAdapter4Object(new DrawRectangle()); 
  objAdapter.drawCircle(); 
  objAdapter.drawRectangle(" in DrawAdapter4Object"); 
  System.out.println("--------------");    
  //類適配器 
  DrawAdapter4Class clzAdapter = new DrawAdapter4Class(); 
  clzAdapter.drawCircle(); 
  clzAdapter.drawRectangle("in DrawAdapter4Class");  
  System.out.println("--------------"); 
  //接口適配器 
  MyDrawAdapter myDrawAdapter = new MyDrawAdapter(); 
  myDrawAdapter.drawCircle(); 
  myDrawAdapter.drawRectangle(); 
 } 
 static class MyDrawAdapter extends DefaultDrawAdapter { 
  @Override
  public void drawCircle() { 
   System.out.println("drawCircle in MyDrawAdapter"); 
  } 
   
 } 
}

打印

DrawAdapter4Object: drawcircle 
draw Rectangle: in DrawAdapter4Object 
-------------- 
DrawAdapter4Class: drawCircle 
draw Rectangle: in DrawAdapter4Class 
-------------- 
drawCircle in MyDrawAdapter 

適配器模式的三個特點:

1 適配器對象實現(xiàn)原有接口

2 適配器對象組合一個實現(xiàn)新接口的對象(這個對象也可以不實現(xiàn)一個接口,只是一個單純的對象)

3 對適配器原有接口方法的調(diào)用被委托給新接口的實例的特定方法

有人認為講解設(shè)計模式的例子都太簡單,看著感覺是那么回事,但是要是真想在項目開發(fā)中使用,還真是應用不到。其實我們不必在項目中刻意使用設(shè)計模式,而是應該從實際的設(shè)計問題出發(fā),看哪個模式能解決我們的問題,就使用哪個模式。不要為了使用模式而使用模式,那樣就舍本逐末了,一般情況下,只要遵循一定的設(shè)計原則就可以了,設(shè)計模式也是根據(jù)這些原則被總結(jié)出來的,熟悉了這些原則,模式自然而然就有了。

希望本篇文章對您有所幫助

當前標題:實例解析Java設(shè)計模式編程中的適配器模式使用
當前鏈接:http://aaarwkj.com/article32/jejcsc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、搜索引擎優(yōu)化、網(wǎng)站改版商城網(wǎng)站、建站公司、App設(shè)計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)
精品视频日韩在线观看| 蜜臀av在线播放黑丝| 九九热精品在线观看视频| 亚洲国产精品综合久久网络| 欧美日本在线区一区二| 国产精品综合日韩精| 国产男女猛烈无遮挡网站| 国产亚洲精品一区二区三在线观看| 双高干文男女主都很强| 女人被爽到高潮呻吟免费看| 中文字幕乱码人妻一区二| 日韩电影在线一本二本三本| 真人国产一级美女免费视频| 成人精品播放视频在线观看| 亚洲国产精品一区二区av| 中文字幕黄色三级视频| 日本久久久精品福利视频| 久久久亚洲熟妇熟女一区二区| 中文字幕国产精品经典三级| 成人黄色小视频下载| 日韩精品色av一区二区| 亚洲一区二区三区精品乱码| 亚洲一区成人精品在线| 亚洲黄色片成年人免费观看| 国产精品伊人久久精品| 青青青在线视频观看华人| 日韩欧美国产一区二区精品| 国产一级内射麻豆91| 国产黄片大秀在线观看| 国产女人高潮流白丝视频| 国产亚洲精品久久久久久| 中文字幕日本精品人妻在线| 亚洲免费成人高清电影| 国产av剧情一区二区| 中文字幕日韩精品国产| 国产中文字幕乱码中文| 夫妻性生活视频全过程| 国产亚洲香蕉精彩视频| 欧美高清一区二区三区不卡| 成人av男人天堂东京热| 亚洲天堂免费在线播放|