一)适配器模式应用场景:
将一个类的接口转换成为客户希望的另外一个接口;使得原本接口不兼容而不能一起工作的那些类可以一起工作;
二)类图如下:(实例参考网络)
三).程序代码如下(参考于网络):
public class TeaCup
{
public void steepTeaBag(TeaBag teaBag)
{
teaBag.steepTeaInCup();
}
}
public class TeaBag
{
boolean teaBagIsSteeped;
public TeaBag()
{
teaBagIsSteeped = false;
}
public void steepTeaInCup()
{
teaBagIsSteeped = true;
System.out.println("tea bag is steeping in cup");
}
}
public class TeaBall extends TeaBag
{
private LooseLeaf looseLeaf;
public TeaBall(LooseLeaf looseLeafTeaIn)
{
looseLeaf = looseLeafTeaIn;
teaBagIsSteeped = looseLeaf.teaIsSteeped;
}
public void steepTeaInCup()
{
looseLeaf.steepTea();
teaBagIsSteeped = true;
}
}
public class LooseLeaf
{
boolean teaIsSteeped;
public LooseLeaf()
{
teaIsSteeped = false;
}
public void steepTea()
{
teaIsSteeped = true;
System.out.println("tea is steeping");
}
}
class Test
{
public static void main(String[] args)
{
TeaCup teaCup = new TeaCup();
System.out.println("Steeping tea bag");
TeaBag teaBag = new TeaBag();
teaCup.steepTeaBag(teaBag);
System.out.println("Steeping loose leaf tea");
LooseLeaf looseLeaf = new LooseLeaf();
TeaBag teaBag2 = new TeaBall(looseLeaf);
teaCup.steepTeaBag(teaBag2);
}
}