一、类继承
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();
}
}