我们什么时候需要使用适配器模式?如果可能的话,请给我一个适合该模式的真实示例。
最佳答案
现有接口(interface)
interface Shape {
public int calculateArea(int r);
}
Shape 接口(interface)的当前实现class Square implements Shape {
@Override
public int calculateArea(int r) {
return r * r;
}
}
现在考虑您希望 Circle 类适应我们现有的接口(interface),我们无法修改(由第三方编写)。class Circle {
public double calculateCircularArea (int r) {
return 3.14 * r * r;
}
}
现在我们已经使 Circle 实现适应我们的 Shape 接口(interface)。所以我们需要一个适配器,因为它们不兼容。class CircleAdaptor extends Circle implements Shape {
@Override
public int calculateArea(int r) {
return (int) calculateCircularArea(r);
}
}
CircleAdaptor - 是圆形的适配器;Circle - 是适应者;
形状 - 是目标界面。
public class AdapterPattern {
public static void main(String[] args) {
Shape circle = new CirCleAdaptor();
System.out.println("Circle Area " + circle.calculateArea(5));
Shape square = new Square();
System.out.println("Square Area " + square.calculateArea(5));
}
}
希望这可以更好地了解何时使用它。另见 what is Decorator pattern?
关于design-patterns - 我们什么时候需要适配器模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3478225/