カリキュラムデザインパターンデザインパターン簡潔12-2アダプタモードコーディング

重要な1

最大の違い1.1アダプタクラスとオブジェクトアダプタ

 

2コードのチュートリアル

2.1コードドリル1(クラスアダプタモード)

2.2コードドリル2(オブジェクトアダプタモード)

2.3コードエクササイズ3(特定のアプリケーションシナリオ)

 

 

重要な1
最大の違い1.1アダプタクラスとオブジェクトアダプタ

アダプタクラスの継承適応の目的は、によってアダプタとオブジェクトの組み合わせは、適応目的を達成します。

 

2コードのチュートリアル
2.1コードドリル1(クラスアダプタモード)

需要関連:

Bおよびクラスベース、クラスは、クラスBのクラスまたはメソッドBサブクラスを達成したいと思い

 

設計解析:

Cアダプタクラスは、継承アダプタクラスは、クラスBであり、インターフェースの目標は、対象クラスBのフィッタCクラスによってアダプタに適合さ達成しました。

Cアダプタクラスは親クラスのメソッドを呼び出すことにより、ターゲットクラスBを達成するために適合させたもののサブクラスであります

 

UMLのクラス図:

 

 

テストカテゴリ:

パッケージcom.geely.design.pattern.structural.adapter.classadapter、

パブリック クラスのテスト{
     公共 静的 ボイドメイン(文字列[]引数){
         // の対象における印刷方法 
        ターゲット目標= 新しい新しいConcreteTarget(); 
        target.request() ; 


        // 印刷法アダプタ 
        アダプタアダプタ= 新しい新しいアダプタ(); 
        adapter.request(); 

    } 
}

 

アダプタクラスアダプタ:

パッケージcom.geely.design.pattern.structural.adapter.classadapter。

パブリック クラスアダプタAdapteeが実装延びターゲット { 
    @Override 
    公共 ボイド要求(){
         スーパーadapteeRequest(); 
    } 
}

 

宛先インターフェイスターゲット:

パッケージcom.geely.design.pattern.structural.adapter.classadapter。

/ ** 
 *目标接口
 * / 
パブリック インターフェイスターゲット{
     ボイド要求(); 
}

 

ターゲット実装クラスConCreteTarget:

パッケージcom.geely.design.pattern.structural.adapter.classadapter; 

/ ** 
 *特定の実装クラス
 * / 
パブリック クラス ConcreteTarget 実装にターゲット{ 
    @Override 
    公共 ボイド要求を(){ 
        System.out.printlnは(「クラスそれぞれの目標を達成方法,,, " ); 
    } 
}

 

クラスフィッターAdaptee:

パッケージcom.geely.design.pattern.structural.adapter.classadapterは、

/ ** 
 メソッド*クラスがターゲットクラスを達成したい人に適応される
 * / 
パブリック クラスをAdaptee {
     公共 ボイドadapteeRequest(){ 
        System.out.printlnは(「アダプタは、独自の方法で実行され...」); 
    } 
}

 

印刷ログ:

"C:\プログラムファイル\のJava \ jdk1.7.0_79 \ビン\ののjava.exe"「-javaagent:D:\ Javaの\ devolopKitの\アイデア\ anZh \のIntelliJ IDEA Community Editionを2018年1月4日のlib \ \ idea_rt.jar = 33436 :D:\ Javaの\のdevolopKitの\アイデア\ anZhのIntelliJ IDEA Community Editionの\ binに2018年1月4日\ "の-Dfile.encoding = UTF-8 -classpath" C:\プログラムファイル\のJava \ jdk1.7.0_79 \ JRE \ libに\ charsets.jar; C:\プログラムファイル\のJava \ jdk1.7.0_79 \ JRE \ libに\ deploy.jar; C:\プログラムファイル\のJava \ jdk1.7.0_79 \ JRE \ libに\ extに\アクセス・ブリッジ-64。瓶; C:\プログラムファイル\のJava \ jdk1.7.0_79 \ JRE \ libに\ extに\ dnsns.jar; C:\プログラムファイル\のJava \ jdk1.7.0_79 \ JRE \ libに\ extに\ jaccess.jar; C: \プログラムファイル\のJava \ jdk1.7.0_79 \ JRE \ libに\ extに\ localedata.jar; C:\プログラムファイル\のJava \ jdk1.7.0_79 \ JRE \ libに\ extに\ sunec.jar; C:\プログラムファイル\ Javaの\ jdk1.7.0_79 \ JRE \ libに\ extに\ sunjce_provider.jar; C:\プログラムファイル\のJava \ jdk1.7.0_79 \ JRE \ libに\ extに\ sunmscapi.jar; C:\プログラムファイル\のJava \ jdk1。 7。0_79 \ JRE \ libに\ extに\ zipfs.jar; C:\プログラムファイル\のJava \ jdk1.7.0_79 \ JRE \ libに\ javaws.jar; C:\プログラムファイル\のJava \ jdk1.7.0_79 \ JRE \ libに\ jce.jar; C:\プログラムファイル\のJava \ jdk1.7.0_79 \ JRE \ libに\ jfr.jar; C:\プログラムファイル\のJava \ jdk1.7.0_79 \ JRE \ libに\ jfxrt.jar; C:\プログラムファイル\のJava \ jdk1.7.0_79 \ JRE \ libに\のjsse.jar; C:\プログラムファイル\のJava \ jdk1.7.0_79 \ JRE \ libに\管理-agent.jar; C:\プログラムファイル\のJava \ jdk1。 7.0_79 \ JRE \ libに\ plugin.jar; C:\プログラムファイル\のJava \ jdk1.7.0_79 \ JRE \ libに\ resources.jar; C:\プログラムファイル\のJava \ jdk1.7.0_79 \ JRE \ libに\ RT .jar; F:\ xiangmu3 \新\アイデア\ design_pattern \ターゲット\クラス; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\ orgの\ \ tomcatに\ Tomcatのサーブレット-API \ 7.0.64 \ Tomcatのサーブレットのapache -api-7.0.64.jar; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\ orgの\ springframework春-webmvc \の4.0.3.RELEASEの\春-webmvc-4.0.3.RELEASE.jar \; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\ orgの\ springframework春豆\ \ 4.0.3.RELEASEの\スプリング豆-4.0.3.RELEASE.jar; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\ ORG \ springframework春コンテキスト\ 4.0.3.RELEASEの\春-コンテキスト4.0.3.RELEASE.jar \; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\ orgの\ springframework春-AOP \ \ 4.0.3 .RELEASE \春-AOP-4.0.3.RELEASE.jar; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\ aopalliance \ aopalliance \ 1.0 \ aopalliance-1.0.jar; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ LIB \ ORG \ springframeworkスプリングコアの\ 4.0.3.RELEASEの\スプリングコア4.0.3.RELEASE.jar \; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ LIB \ ORG \ springframeworkバネ式\ \ 4.0.3.RELEASE \春-表現-4.0.3.RELEASE.jar; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\ orgの\ springframework \春 - ウェブの\ 4.0.3.RELEASEの\春 - ウェブ4.0 .3.RELEASE.jar; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\ orgの\ springframework春-OXM \ 4.0.3.RELEASE \春-OXM-4.0.3.RELEASE.jar \; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\ ORG \ springframework、ばねのJDBCの\ 4.0.3.RELEASEの\春-JDBC-4.0.3.RELEASE.jar \; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\ orgの\ springframework春-TX \ 4.0.3 \ .RELEASE \春-TX-4.0.3.RELEASE.jar; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\ orgの\ springframework春-テスト\の\ 4.0.3.RELEASEの\スプリングテスト-4.0.3。 RELEASE.jar; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\ orgの\ AspectJの\ \ 1.7.3 \ aspectjweaver aspectjweaver-1.7.3.jar; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\ ORG \ MyBatisの\ MyBatisのスプリング1.3.0 \ MyBatisのスプリング-1.3.0.jar \; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\ orgの\ MyBatisの\ MyBatisの\ 3.4.1 \ MyBatisの-3.4.1.jar ; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\ orgの\ AspectJの\ \ 1.6.11 \ aspectjrt-1.6.11.jar aspectjrt; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\ orgの\ Codehausの\ジャクソン\ジャクソンマッパー-ASL \ 1.9.12 \ジャクソンマッパー-ASL-1.9.12.jar; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ LIB \ ORG \ Codehausの\ジャクソン\ジャクソンコア-ASL \ 1.9.12 \ジャクソンコア-ASL-1.9.12.jar; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\コモンズ-DBCP \コモンズ、DBCP \ 1.4 \コモンズ-DBCP-1.4.jar; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\コモンズ・プール\コモンズ・プール\ 1.5.4 \コモンズ・プール-1.5.4.jar; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\ CH \ QoSの\ \ 1.1.2 \ logback \ logback-古典logback-古典-1.1.2.jar; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\ orgの\ SLF4J \ SLF4J-API \ 1.7.6 \ SLF4J-API-1.7.6.jar; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\ CH \ QoSの\ logback \ logback-コア\ 1.1.2 \ logback-コア -  1.1 .2.jar; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\ mysqlの\ mysqlのコネクタ-javaの\ 5.1.6 \ mysqlのコネクタ-のjava-5.1.6.jar; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\ COM \ Googleの\グアバ\グアバ20.0 \グアバ-20.0.jar \; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\ orgの\ Apacheのコモンズ・lang3の\ \ \コモンズ3.5 \コモンズ-lang3-3.5.jar; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\ 3.2.1 \コモンズ・コレクション-3.2.1.jar \コモンズ・コレクション\コモンズ・コレクション; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\のJUnitの\ JUnitの\ 4.12 \ JUnitの-4.12.jar; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\ジョダ時の\ジョダ-時間\ 2.3 \ジョダタイム-2.3.jar ; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\ orgの\ hashids \ hashids \ 1.0.1 \ hashids-1.0.1.jar; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\コモンズネット\コモンズ-net \ 3.1 \コモンズネット-3.1.jar; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\コモンズ・ファイルアップロードコモンズ・ファイルアップロード\ 1.2.2 \コモンズ・ファイルアップロード-1.2.2.jarが\; F: \ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\コモンズ-IO \コモンズ-IO \ 2.0.1 \コモンズ-IO-2.0.1.jar; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\ COM \ githubの\ pagehelper \ pagehelper \ 4.1.0 \ pagehelper-4.1.0.jar; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\ COM \ githubの\ miemiedev \ MyBatisの-ページネータ\ 1.2.17 \ MyBatisの-ページネータ -  1.2.17.jar; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\ COM \ githubの\ jsqlparser \ jsqlparser \ 0.9.4 \ jsqlparser-0.9.4.jar ; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\コモンズ・コーデック\コモンズ・コーデック1.10 \コモンズ・コーデック1.10.jar \; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\コモンズ・コンフィギュレーション・\コモンズ - 配置コモンズ・コンフィギュレーション・1.10.jar \ 1.10 \; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\コモンズ-LANG \コモンズ - ラング\ 2.6 \コモンズ-LANG-2.6.jar; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\コモンズロギング\コモンズロギング\ 1.1.1 \コモンズ・ログ-1.1.1.jar; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\ COM \ Googleの\ zxingコア\ \ 2.1 \コア-2.1.jar; F:\ xiangmu3新\アイデア\ design_Maven_Home \ libに\ COM \ Googleの\コード\ gson \ gson \ 2.3.1 \ gson-2.3.1.jar \; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\ orgの\ hamcrest \ hamcrestコア1.3 \ hamcrestコア-1.3.jar \; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\ Redisの\クライアント\ jedis 2.6.0 \ jedis-2.6.0.jar \; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\ orgの\ apacheの\ 2.0 \ \コモンズ-POOL2 \コモンズコモンズ-pool2-2.0.jar; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\ orgの\ projectlombokロンボク\ \ 1.16.18 \ロンボク-1.16.18.jar; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\ orgの\ springframework \セッション\スプリング・セッション・データのRedis \ 1.2.5.RELEASE \春・セッション・データredis- 1.2.5.RELEASE.jar; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\ orgの\ redisson \ redisson \ 2.9.0 \ redisson-2.9.0.jar; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ LIB \ IO \ネッティー\ネッティー-共通\ 4.1.8.Final \ネッティー-共通4.1.8.Final.jar; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\ IO \ネッティー\ネッティー・コーデック\ 4.1.8.Final \ネッティー・コーデック・4.1.8.Final.jar; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\ IO \ネッティー\ネッティー・バッファ\ 4.1.8.Final \ネッティー・バッファ・4.1.8.Final.jar; F:4.1.8 \ \ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\ IO \ネッティー\ネッティー輸送.Final \ネッティー輸送-4.1.8.Final.jar; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\ IO \ネッティー\ネッティー-リゾルバ\ 4.1.8.Final \ネッティー-リゾルバ-4.1.8。 Final.jar; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\ IO \ネッティー\ネッティー・ハンドラ\ 4.1.8.Final \ネッティー・ハンドラ・4.1.8.Final.jar; F:\ xiangmu3 \新\ 1.0.0 \キャッシュ-API-1.0.0.jar \ \ design_Maven_Home \ libに\のjavax \キャッシュ\キャッシュ-APIアイデア; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\ IO \ projectreactor \原子炉ストリーム2.0 \ .8.RELEASE \リアクターストリーム-2.0.8.RELEASE.jar; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ LIB \ IO \ projectreactor \リアクトルコアの\ 2.0.8.RELEASE \炉心-2.0。 8。RELEASE.jar; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\ orgの\ reactivestreams \ reactivestreams \ 1.0.0 \ reactivestreams-1.0.0.jar; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ LIB \ COM \ fasterxmlジャクソン\ \データ形式\ジャクソン・データ形式・YAMLジャクソン・データ形式・YAML-2.6.7.jar \ 2.6.7 \; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\ orgの\ YAML \ snakeyaml \ 1.15 \ snakeyaml-1.15.jar; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\ COM \ fasterxml \ジャクソン\コア\ジャクソン・コア・ジャクソン・コア-2.6.7.jar \ \ 2.6.7; F: \ xiangmu3 \新\アイデア\ジャクソン-データバインド-2.6.7.jar \ 2.6.7 \ design_Maven_Home \ libに\ COM \ fasterxml \ジャクソン\コア\ジャクソン、データバインド; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\ COM \ fasterxml \ジャクソン・データ形式・アブロ\ 2.9.0 \ジャクソン・データ形式・アブロ-2.9.0.jarデータ形式ジャクソン\ \; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\ COM \ fasterxml \ジャクソン\コア2.9.0 \ジャクソン注釈-2.9.0.jar \ \ジャクソン注釈; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\ orgの\ apacheの\アブロ\アブロ\ 1.8.1 \アブロ-1.8.1.jar; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\ COM \ ThoughtWorksの\ paranamer \ 2.7 \ paranamer-2.7.jar \ paranamer; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\ orgの\ xerial \てきぱき\てきぱき-javaの1.1.1.3 \てきぱき-javaの-1.1.1.3.jar \; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\ orgの\ apacheの\コモンズ・圧縮\ 1.8.1 \コモンズ-圧縮-1.8.1.jar \コモンズ; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\ ORG \ tukaani \ XZ \ 1.5 \ XZ-1.5.jar; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\ COM \太陽\ 1.2 \ JSF-API-1.2.jar」\ JSF-API \直面しています\ xiangmu3 \コモンズ・圧縮\ 1.8.1 \コモンズ-圧縮-1.8.1.jar \新\アイデア\ design_Maven_Home \ libに\ orgの\ apacheの\コモンズ; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\ ORG \ tukaani \ XZ \ 1.5 \ XZ-1.5.jar; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\ comの太陽\ 1.2 \ JSF-API-1.2.jar \ \ JSF-API直面している\」\ xiangmu3 \コモンズ・圧縮\ 1.8.1 \コモンズ-圧縮-1.8.1.jar \新\アイデア\ design_Maven_Home \ libに\ orgの\ apacheの\コモンズ; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\ ORG \ tukaani \ XZ \ 1.5 \ XZ-1.5.jar; F:\ xiangmu3 \新\アイデア\ design_Maven_Home \ libに\ comの太陽\ 1.2 \ JSF-API-1.2.jar \ \ JSF-API直面している\」com.geely.design.pattern.structural.adapter.classadapter.Test
 ターゲット実装クラス自身の道,,, 
独自のメソッドアダプタを実行しています。

コードの終了プロセスで仕上げた 0

 

 

2.2コードドリル2(オブジェクトアダプタモード)

需要:クラスとBクラスは、クラスは、クラスBのクラスやメソッドBのサブクラスを達成したいと思います

 

設計解析:

ことでの組み合わせ目的

 

関係:

のみ適応クラスが変更されている、他のクラスは変更されません。

 

UMLのクラス図:

 

 

アダプタクラス:

パッケージcom.geely.design.pattern.structural.apapter.objectadapter。

パブリック クラスアダプタが実装ターゲット{
     Adapteeのadaptee =新しいAdapteeを(); 

    @Override 
    公共 ボイド要求(){ 
        adaptee.adapteeRequest()。
    } 
}

 

テストカテゴリ:

パッケージcom.geely.design.pattern.structural.apapter.objectadapter、

パブリック クラスのテスト{
     公共 静的 ボイドメイン(文字列[]引数){
         // の対象における印刷方法 
        ターゲット目標= 新しい新しいConcreteTarget(); 
        target.request() ; 


        // 印刷法アダプタ 
        アダプタアダプタ= 新しい新しいアダプタ(); 
        adapter.request(); 

    } 
}

 

宛先インターフェイス:

パッケージcom.geely.design.pattern.structural.apapter.objectadapter。

/ ** 
 *目标接口
 * / 
パブリック インターフェイスターゲット{
     ボイド要求(); 
}

 

実装クラスをターゲット:

パッケージcom.geely.design.pattern.structural.apapter.objectadapter; 

/ ** 
 *特定の実装クラス
 * / 
パブリック クラス ConcreteTarget 実装にターゲット{ 
    @Override 
    公共 ボイド要求を(){ 
        System.out.printlnは(「クラスそれぞれの目標を達成方法,,, " ); 
    } 
}

 

適応カテゴリ:

パッケージcom.geely.design.pattern.structural.apapter.objectadapterは、

/ ** 
 メソッド*クラスがターゲットクラスを達成したい人に適応される
 * / 
パブリック クラスをAdaptee {
     公共 ボイドadapteeRequest(){ 
        System.out.printlnは(「アダプタは、独自の方法で実行され...」); 
    } 
}

 

印刷ログ:

彼らの目的クラスメソッドを達成,,, 
独自のメソッドアダプタを実行しています。

コードの終了プロセスで仕上げた 0

 

2.3コードエクササイズ3(特定のアプリケーションシナリオ)

要件:

5V DCへのモバイル電源アダプタ、AC 220V

 

テストカテゴリ:

パッケージcom.geely.design.pattern.structural.adapter。

パブリック クラスのテスト{
     公共 静的 ボイドメイン(文字列[]引数){ 
        DC5V DC5V = 新しいPowerAdapter()。
        dc5V.outPutDC5V(); 
    } 
}

 

電源アダプタクラス:

パッケージcom.geely.design.pattern.structural.adapter; 

インポートcom.geely.design.pattern.structural.adapter.AC220V;
 インポートcom.geely.design.pattern.structural.adapter.DC5V; 

/ ** 
 *電源アダプタ
 * / 
パブリック クラス PowerAdapter 実装DC5V { 

    // AC 220Vの組み合わせを導入することにより
   AC220V AC220V =新しい新しいAC220Vを();
 
    @Override 
    公共 INT outPutDC5V(){
         int型 adapterInput = ac220V.outputAC220V(); 

        // 変換トランス
        INT adapterOutput = adapterInput / 44です

        System.out.printlnは(+ adapterOutput + "V" "電源アダプタを使用して、最終的にDCに変換され、" );
         戻りadapterOutputを; 
    } 
}

 

DC 5Vターゲットクラスのカテゴリ:

パッケージcom.geely.design.pattern.structural.adapter、

パブリック インターフェイスDC5V {
     // 出力5VのDC 
    INT outPutDC5V(); 
}

 

アダプタによってAC 220Vクラス:

パッケージcom.geely.design.pattern.structural.adapter。

パブリック クラスAC220V {
     公共 のint outputAC220V(){
         int型 outputELE = 220 
        System.out.println( "输出交流电" + outputELE + "V" )。
        返すoutputELE; 
    } 
}

 

印刷ログ:

出力220VのAC 
電源アダプタ、最終的にはDC 5Vに変換され、

完成プロセスの終了コードを 0

 

おすすめ

転載: www.cnblogs.com/1446358788-qq/p/11495259.html