프로그래밍/자바 디자인패턴

디자인 패턴 위임에 의한 Adapter 패턴(인스턴스를 이용한)

가카리 2012. 8. 3. 19:32
반응형

2번째 위임을 사용한 어댑터 패턴(인스턴스를 사용한)

 

소스를 보면 어떻게 인스턴스를 사용한 것인지 이해가 될 것입니다.

 

 

public class Banner {

       private String string;

      

       Banner(String string){

             this.string = string;

       }

       public void showWithParen(){

             System.out.println("(" + string + ")");

       }

      

       public void showWithAster(){

             System.out.println("*" + string + "*");

       }

      

}

 

 

 

 

public abstract class Print {

       public abstract void printWeak();

       public abstract void printStrong();

}

 

 

 

public class PrintBanner extends Print//Print 추상클래스

{

       private Banner banner;

       PrintBanner(String string) {

             banner = new Banner(string);

       }

       public void printStrong() {//구현되지 않은 메소드를 구현함(DC 19V 필요해서)

             // TODO Auto-generated method stub

             banner.showWithAster();//근데 실제 구현내용을 보니 Banner클래스(AC220 공급됨)

                                               //결국 PrintBanner 어댑터의 역할을 하게됨

       }

       public void printWeak() {

             // TODO Auto-generated method stub

             banner.showWithParen();

       }

      

}

 

 

 

 

public class Main {

 

       /**

        * @param args

        */

       public static void main(String[] args) {

             // TODO Auto-generated method stub

                    Print p = new PrintBanner("Hello");

                    p.printStrong();

                    p.printWeak();

       }

 

}

 

 

 

결과

 

 

 

 

반응형