请教一个ADAPTER的问题

06-04-02 bigbird
进一步使用

上面的PegAdapter是继承了SquarePeg,如果我们需要两边继承,即继承SquarePeg 又继承RoundPeg,因为Java中不允许多继承,但是我们可以实现(implements)两个接口(interface)

public interface IRoundPeg{

  public void insertIntoHole(String msg);

}

public interface ISquarePeg{

  public void insert(String str);

}

下面是新的RoundPeg 和SquarePeg, 除了实现接口这一区别,和上面的没什么区别。

public class SquarePeg implements ISquarePeg{

  public void insert(String str){

    System.out.println("SquarePeg insert():"+str);

  }

}

public class RoundPeg implements IRoundPeg{

  public void insertIntohole(String msg){

    System.out.println("RoundPeg insertIntoHole():"+msg);

  }

}

下面是新的PegAdapter,叫做two-way adapter:

public class PegAdapter implements IRoundPeg,ISquarePeg{

  private RoundPeg roundPeg;

  private SquarePeg squarePeg;

  // 构造方法

  public PegAdapter(RoundPeg peg){this.roundPeg=peg;}

  // 构造方法

  public PegAdapter(SquarePeg peg)(this.squarePeg=peg;)

  public void insert(String str){ roundPeg.insertIntoHole(str);}

}

这个是该网站的文章我拿来看的时候发现

最后一个.. 类IMPLEMENTS IRoundPeg 根本没实现里面的方法

.. 这么写是什么意思.. 是写错了还是我没理解

    

banq
2006-04-03 15:59
有一些笔误,但是从道理上讲,执行与否insertIntoHole这个方法不重要了,只是语法上的问题。

猜你喜欢