在朋友聚会上碰到了一个美女Sarah,从香港来的,可我不会说粤语,她不会说普通话,只好求助于我的朋友kent了,他作为我和Sarah之间的Adapter,让我和Sarah可以相互交谈了。
源角色:Common 只能说普通话,但是MM 听不懂,与MM 要求的不符合
适配器角色: Translate 负责转换的。 是一个实现类,继承了源角色的某个实现类。也可以持有源角色的引用,将部分工作,委托给源角色对象的引用(对象适配器)
package adapter;
public interface Common {
public void speakCommon();
}
package adapter;
public interface Foreign {
public void speakForeign();
}
package adapter;
public class Translate
extends My
implements Foreign {
public void speakForeign() {
System.out.println(
"说的是外国话");
}
public static void main(String args[]){
Translate t =
new Translate();
// 可以和外国MM 交流了 t.speakForeign();
}
}
package adapter;
public class My
implements Common {
public void speakCommon() {
System.out.println(
"我说的是普通话");
}
}
本文转自 randy_shandong 51CTO博客,原文链接:http://blog.51cto.com/dba10g/229609,如需转载请自行联系原作者