您的位置:首页 > 其它

设计模式(二)之适配器模式Adapter(类继承与对象代理)

2009-11-03 19:59 399 查看
一、类继承

Banner类:

package adapter;

public class Banner {
private String string;

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

Print接口:

package adapter;

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

PrintBanner类:

package adapter;

public class PrintBanner extends Banner implements Print{

public PrintBanner(String string) {
super(string);
}

public void printStrong() {
showWithAster();
}

public void printWeak() {
showWithPattern();
}

}

Main类:

package adapter;

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

二、对象代理

Banner类:

package adapter;

public class Banner {
private String string;

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

Print类:

package adapter2;

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

PrintBanner类:

package adapter2;

public class PrintBanner extends Print{
private Banner banner;
public PrintBanner(String string){
this.banner=new Banner(string);
}
@Override
public void printStrong() {
banner.showWithAster();
}

@Override
public void printWeak() {
banner.showWithPattern();
}

}

Main类:

package adapter;

public class Main {
public static void main(String[] args) {
Print p=new PrintBanner("Hello");
p.printWeak();
p.printStrong();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐