委托

abstract class Print
{
    public abstract void printWeak();
    public abstract void printStrong();
}

 class Banner
{
    private String string;
    public Banner(String string){
        this.string = string;
    }
    public void showWithParen(){
        System.out.println("("+string+")");
    }
    public void showWithAster(){
        System.out.println("*"+string+"*");
    }
};

class PrintBanner extends Print
{
    private Banner banner;
    public PrintBanner(String string){
        banner = new Banner(string);
    }

    public void printWeak(){
        banner.showWithParen();
    }

    public void printStrong(){
        banner.showWithAster();
    }
};

public class Adapter
{
    public static void main(String[] args){
        Print p = new PrintBanner("Hello");
        p.printWeak();
        p.printStrong();
    }
};

你可能感兴趣的:(委托)