首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

马上结贴,写三句半代码实现适配器模式,大家看看对不对?该怎么解决

2011-12-30 
马上结贴,写三句半代码实现适配器模式,大家看看对不对??Java codepackage myTableimport java.util.Array

马上结贴,写三句半代码实现适配器模式,大家看看对不对??

Java code
package myTable;import java.util.ArrayList;interface IStack{   void push(int a);   void pop();   int getPeak();}public class ObjectAdapter implements IStack{   ArrayList adaptee;   public void push(int a){      adaptee.add(a);   }      public void pop(){      adaptee.remove(adaptee.size()-1);   }      public int getPeak(){      return (Integer) adaptee.get(adaptee.size()-1);   }}


[解决办法]
除了adaptee没初始化,形象。
我的理解就是适配器就是2个不同组件之间连接。
[解决办法]
挺形象的了..

不过我更喜欢将适配器定义成抽象类..
[解决办法]
适配者模式将两个不兼容的类纠合在一起使用,属于结构型模式,需要有Adaptee(被适配者)和Adaptor(适配器)两个身份.
你这里Adaptee为IStack,Adaptor为ObjectAdapter,属于适配者模式中的对象适配器。这样写没有问题。
[解决办法]
2.为什么要用抽象类:   

此类是不要被实例化的。而只充当适配器的角色,也就为其子类提供了一个共同的接口,但其子类又可以将精力只集中在其感兴趣的地方。 


摘自 适配器模式 from百度百科

------------------------------------------------------

我觉得是个人理解不同,因为我认为的适配器模式是实现了一个接口的所有方法的抽象类,

而这样的类用户在使用的时候就可以专注的实现自己需要的方法,而不用像继承接口的那样需要实现所有方法。

如:

Java code
interface athlete{   void run();   void swim();   void dive();}public abstract class athleteAdapter implements athlete{   public void run(){   }      public void swim(){   }     public void dive(){   }}class athletes extends athleteAdapter{    public void run(){        System.out.println("Start running!");    }}class swimmer extends athleteAdapter{    public void swim(){        System.out.println("Start swimming!");    }}class diver extends athleteAdapter{    public void dive(){        System.out.println("Start diving!");    }    }
[解决办法]
7楼的看起来更一目了然
[解决办法]
学习学习!
[解决办法]
学习ing
[解决办法]
组合优先于继承

热点排行