首先感谢banq大虾的回复!
我是菜鸟,对Adapter(适配器)也不太理解,如果提出幼稚的问题,还请大虾耐心教导!
我对Adapter(适配器)的理解:
将两个不兼容的类纠合在一起使用,并实现这两个不兼容类的功能.(这两个类对我们是透明的,我们只知道其方法而不知道其代码.)
public class PegAdapter extends SquarePeg{
private RoundPeg roundPeg;
public PegAdapter(RoundPeg peg)(this.roundPeg=peg;)
public void insert(String str){ roundPeg.insertIntoHole(str);}
}
PegAdapter类虽然继承了SquarePeg类,但insert()方法被重载了.
PegAdapter p=new PegAdapter(peg);
p.insert(str);//打圆形桩
PegAdapter类能实现打圆形桩的功能,打方形桩的功能却不知道如何实现了.
我对代码做了如下修改:
public class PegAdapter extends SquarePeg{
private RoundPeg roundPeg;
public PegAdapter(RoundPeg peg)(this.roundPeg=peg;)
public void insertIntoHole(String str){ roundPeg.insertIntoHole(str);}
}
PegAdapter类不重载insert()方法.
PegAdapter p=new PegAdapter(peg);
p.insert(str);//打方形桩
p.insertIntoHole(str);//打圆形桩
这样一来,PegAdapter类既能实现打圆形桩的功能,也能实现打方形桩的功能了.
有什么不对的地方,还请banq大虾指出,谢了!