举个例子:
如果有台笔记本电脑需要12V的电流,那直接接在家用的电源220V上是不行的.
那我们会想到用一种转换器能把家用的220V转到12v就可以达到目标了
这转换器的功能用code表示,既要继承家用电源的类,又要实现12V笔记本能安上的接口
总言之,适配器作为一种沟通的桥梁吧,,,呵,我的理解
code 展示
package com.javaeye.patter.adapter;
/**
* A interface
*/
public interface Shape {
public void Draw();
public void Border();
}
package com.javaeye.patter.adapter;
/**
* The Adaptee in this sample
*/
public class Text {
private String content;
public Text() {
}
public void SetContent(String str) {
content = str;
}
public String GetContent() {
return content;
}
}
package com.javaeye.patter.adapter;
/**
* The Class Adapter in this sample
*/
public class TextShapeClass extends Text implements Shape {
public TextShapeClass() {
}
public void Draw() {
System.out.println("Draw a shap ! Impelement Shape interface !");
}
public void Border() {
System.out.println("Set the border of the shap ! Impelement Shape interface !");
}
public static void main(String[] args) {
TextShapeClass myTextShapeClass = new TextShapeClass();
myTextShapeClass.Draw();
myTextShapeClass.Border();
myTextShapeClass.SetContent("A test text !");
System.out.println("The content in Text Shape is :" + myTextShapeClass.GetContent());
}
}
package com.javaeye.patter.adapter;
/**
* The Object Adapter in this sample
*/
public class TextShapeObject implements Shape {
private Text txt;
public TextShapeObject(Text t) {
txt = t;
}
public void Draw() {
System.out.println("Draw a shap ! Impelement Shape interface !");
}
public void Border() {
System.out.println("Set the border of the shap ! Impelement Shape interface !");
}
public void SetContent(String str) {
txt.SetContent(str);
}
public String GetContent() {
return txt.GetContent();
}
public static void main(String[] args) {
Text myText = new Text();
TextShapeObject myTextShapeObject = new TextShapeObject(myText);
myTextShapeObject.Draw();
myTextShapeObject.Border();
myTextShapeObject.SetContent("A test text !");
System.out.println("The content in Text Shape is :" + myTextShapeObject.GetContent());
}
}