我理解的适配器模式


举个例子:

如果有台笔记本电脑需要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());
        
    }
}

你可能感兴趣的:(适配器模式)