瞎买是adapter模式的例子假设我们要打桩,有两种类:方形桩 圆形桩.
public class SquarePeg{
public void insert(String str){
System.out.println("SquarePeg insert():"+str);
} } public class RoundPeg{
public void insertIntohole(String msg){
System.out.println("RoundPeg insertIntoHole():"+msg);
}
} 现在有一个应用,需要既打方形桩,又打圆形桩.那么我们需要将这两个没有关系的类综合应用.假设RoundPeg我们没有源代码,或源代码我们不想修改,那么我们使用Adapter来实现这个应用: public class PegAdapter extends SquarePeg{ private RoundPeg roundPeg; public PegAdapter(RoundPeg peg)(this.roundPeg=peg;) public void insert(String str){ roundPeg.insertIntoHole(str);} }
请问这句代码:public PegAdapter(RoundPeg peg)(this.roundPeg=peg;) 中peg是初始化时传过来的RoundPeg对象么?? 直接private RoundPeg roundPeg = new RoundPeg();这样不可以么,为什么adapter要按照上面代码写。。
第二个疑问: 我看别人解释adapter意思是 adapter是为了使用接口中一个方法,而不用实现接口内所有方法,谁能帮我解释一下啊
最好能带个例子,谢谢了
public class SquarePeg{
public void insert(String str){
System.out.println("SquarePeg insert():"+str);
} } public class RoundPeg{
public void insertIntohole(String msg){
System.out.println("RoundPeg insertIntoHole():"+msg);
}
} 现在有一个应用,需要既打方形桩,又打圆形桩.那么我们需要将这两个没有关系的类综合应用.假设RoundPeg我们没有源代码,或源代码我们不想修改,那么我们使用Adapter来实现这个应用: public class PegAdapter extends SquarePeg{ private RoundPeg roundPeg; public PegAdapter(RoundPeg peg)(this.roundPeg=peg;) public void insert(String str){ roundPeg.insertIntoHole(str);} }
请问这句代码:public PegAdapter(RoundPeg peg)(this.roundPeg=peg;) 中peg是初始化时传过来的RoundPeg对象么?? 直接private RoundPeg roundPeg = new RoundPeg();这样不可以么,为什么adapter要按照上面代码写。。
第二个疑问: 我看别人解释adapter意思是 adapter是为了使用接口中一个方法,而不用实现接口内所有方法,谁能帮我解释一下啊
最好能带个例子,谢谢了
解决方案 »
- oralce重装后用Tomcat的连接池链接数据库出现问题····!!!蛋疼了好久,哪位大虾帮帮忙啊!!!!!!!!!!!!!!!!!
- 100分!!!,lcoal session bean部署在weblogic上的问题,求助啊,N天都没解决
- Hibernate注解如何使用联合主键
- java开源项目
- Hibernian 翻转 数据库表的问题
- validWhen
- 求助WebLogic安装文件
- 怎样在jsp页面中上传一个文件夹中的所有文件到服务器
- JDBC到底是怎么注册数据库驱动程序的???
- 周末了,需要加班,继续放分 -- 讨论学习EJB的经验
- hibernate 支持oralce数据库
- java怎么引入下载的包 如SNMP4J包
2,还是上面的例子,如果RoundPeg是一个接口,里面有N个方法,那PegAdapter是不是相当于只实现了RoundPeg的insertIntoHole方法?
多谢回答~~
还是上面这个列子,那这样写也可以算是adapter模式么??public class PegAdapter extends SquarePeg{ private RoundPeg roundPeg = new RoundPeg(); public void insert(String str){ roundPeg.insertIntoHole(str);} }