• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            oyjpArt ACM/ICPC算法程序設(shè)計空間

            // I am new in programming, welcome to my blog
            I am oyjpart(alpc12, 四城)
            posts - 224, comments - 694, trackbacks - 0, articles - 6

            JAVA常用設(shè)計模式1 Adapter

            Posted on 2008-01-15 22:45 oyjpart 閱讀(2011) 評論(0)  編輯 收藏 引用 所屬分類: 程序設(shè)計

            一個適配器允許不帶有兼容接口的組件之間進行通信。
            適配器模式是使用面向?qū)ο笤O(shè)計概念的優(yōu)秀示例,其中一個原因就是因為他非常簡單。
            同時,它也是有關(guān)三個重要設(shè)計原則的優(yōu)秀示例:委托,繼承和抽象。

            概念UML類圖

            實例類圖


             1// Triks.java
             2
             3package oyjpart.designpattern;
             4
             5public interface Tricks {
             6    public void walk();
             7    public void run();
             8    public void fetch();
             9}

            10


             

             1// DogShow.java
             2
             3package oyjpart.designpattern;
             4
             5public class DogShow {
             6    public void compete(Tricks target) {
             7        target.run();
             8        target.walk();
             9        target.fetch();
            10    }

            11    
            12    public static void main(String[] args) {
            13        OldDog oldDog = new OldDog("Tim");
            14        OldDogTricksAdapter oldDogTricksAdapter = new OldDogTricksAdapter(oldDog); 
            15        new DogShow().compete(oldDogTricksAdapter);
            16    }

            17}

            18
            19

             

             

             1// OldDog.java
             2
             3package oyjpart.designpattern;
             4
             5public class OldDog {
             6    String name;
             7    
             8    public OldDog(String name) {
             9        this.name = name;
            10    }

            11    
            12    public void walk() {
            13        System.out.println("Old Dog " + name + " is walking");
            14    }

            15    
            16    public void sleep() {
            17        System.out.println("Old Dog " + name + " is sleeping");
            18    }

            19    
            20}

            21
            22

             

             

             1
             2// OldDogTricksAdapter.java
             3
             4package oyjpart.designpattern;
             5
             6public class OldDogTricksAdapter implements Tricks {
             7    private OldDog adaptee;
             8    
             9    public OldDogTricksAdapter(OldDog oldDog) {
            10        this.adaptee = oldDog;
            11    }

            12
            13    public void walk() {
            14        System.out.println("This dog can walk");
            15    }

            16
            17    public void fetch() {
            18        System.out.println("This dog cannot fetch");
            19    }

            20    
            21    public void run() {
            22        System.out.println("This dog cannot run");
            23    }

            24}

            25
            26
            久久午夜电影网| 超级97碰碰碰碰久久久久最新| 婷婷久久综合九色综合九七| 99麻豆久久久国产精品免费| 影音先锋女人AV鲁色资源网久久| 日韩AV毛片精品久久久| 欧美精品丝袜久久久中文字幕 | 亚洲国产成人久久精品动漫| 久久久久久国产精品免费无码| 亚洲第一极品精品无码久久| 少妇久久久久久久久久| 久久ZYZ资源站无码中文动漫| 日日躁夜夜躁狠狠久久AV| 久久国产乱子伦免费精品| 久久99精品国产| 久久久久97国产精华液好用吗| 香蕉99久久国产综合精品宅男自| 久久成人小视频| 国内精品久久久人妻中文字幕| WWW婷婷AV久久久影片| 国产精品成人久久久久久久| 久久久青草青青国产亚洲免观| 精品一二三区久久aaa片| 少妇久久久久久被弄高潮| av无码久久久久不卡免费网站 | 国内精品九九久久久精品| 色综合久久中文综合网| 久久婷婷色综合一区二区| 精品人妻伦九区久久AAA片69| 久久99国内精品自在现线| 国产视频久久| 久久久久亚洲AV成人网人人网站 | 99久久精品免费国产大片| 久久综合给合综合久久| 久久久久久亚洲AV无码专区| 欧美777精品久久久久网| 囯产精品久久久久久久久蜜桃| 久久精品一区二区三区不卡| 久久久国产视频| 久久久久国产一级毛片高清板| 少妇久久久久久久久久|