浏览 377 次
|
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
时间:2007-09-23 关键字: 适配器模式简单例子
引用 对类的适配器模式(继承实现)
PrintStr 接口
package classadapter;
public interface PrintStr {
public void printStr();
public void putsStr();
}
Banner: 父类
package classadapter;
public class Banner {
private String str;
public void Banner(String str){
this.str=str;
}
public void printStrWithP(){
System.out.println("("+this.str+")");
}
public void putsStrWithA(){
System.out.println("*"+this.str+"*");
}
}
PrintBanner: 子类及实现
package classadapter;
public class PrintBanner extends Banner implements PrintStr {
public PrintBanner(String str){
super.Banner(str);
}
public void printStr() {
// TODO Auto-generated method stub
super.printStrWithP();
}
public void putsStr() {
// TODO Auto-generated method stub
super.putsStrWithA();
}
}
Main:main方法类
package classadapter;
public class Main {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
PrintStr print=new PrintBanner("hello");
print.printStr();
print.putsStr();
}
}
引用 对对象的适配器模式(委托实现)
PrintStr: 虚拟类
package objectadapter;
public abstract class PrintStr {
abstract public void printStr();
abstract public void putsStr();
}
Banner: 父类
package objectadapter;
public class Banner {
private String str;
public Banner(String str){
this.str=str;
}
public void printStrWithP(){
System.out.println("("+this.str+")");
}
public void putsStrWithA(){
System.out.println("*"+this.str+"*");
}
}
PrintBanner: 子类及实现
package objectadapter;
public class BannerPrint extends PrintStr {
private Banner banner;
public BannerPrint(String str){
this.banner=new Banner(str);
}
public void printStr() {
// TODO Auto-generated method stub
this.banner.printStrWithP();
}
public void putsStr() {
// TODO Auto-generated method stub
this.banner.putsStrWithA();
}
}
Mian:main方法类
package objectadapter;
public class Main {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
PrintStr print=new PrintBanner("hello");
print.printStr();
print.putsStr();
}
}
声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |


