配器模式
配器模式的比喻不知是否正确,
你的女朋友希望你是一个大款,但是你不是,可以你有个有钱的老爸,这怎么办?
于是可以你当作适配器,你可以继承你爸的财产,变成一个大款,于是你女朋友比较满意OK.这是类适配器模式。(三种角色,大款 ,你,你老爸)
如果你不继承财产,你可以支配你老爸,使他完全由你控制,于是你女朋友看你也是一个大款,因为有使用权。这是对象适配模式。
你女朋友希望的接口,有钱而且年轻
public interface RicherAndYoungth
{
/**
* @roseuid 3EC050030096
*/
public void haveMuchMoney();
/**
* @roseuid 3EC05013023D
*/
public void isYouth();
}
你现在,仅年轻,但是没有钱
public class You{
public void isYouth(){
System.out.println("我年轻而且很帅!!");
}
}
你老爸很有钱
public class YourFather
{
/**
* @roseuid 3EC050580323
*/
public void haveMuchMoney() {
}
}
=====================
把你作为适配器,继承老爸的遗产,使用类适配器
public class You extend YourFather implements RicherAndYoungth{
//自己实现的
public void isYouth(){
System.out.println("我年轻而且很帅!!");
}
//有钱是继承父类的
}
把你作为适配器,直接支配老爸的财产,使用对象适配器
public class You implements RicherAndYoungth{
private YourFather father=new YourFather();
//自己实现的
public void isYouth(){
System.out.println("我年轻而且很帅!!");
}
//有钱是使用对象的
public void haveMuchMoney() {
father.haveMuchMoney();
}
}