Convert the interface of a class into another interface clients expect. Adapter lets classes work together that couldn't otherwise because of incompatible interfaces.
Participants
- Target: defines the domain-specific interface that Client uses.
- Adapter: adapts the interface Adaptee to the Target interface.
- Adaptee: defines an existing interface that needs adapting.
- Client: collaborates with objects conforming to the Target interface.
Code
public class Main {
public static void main(String[] args) {
Target target = new Adapter();
target.request();
}
}
public interface Target {
void request();
}
public class Adapter implements Target {
Adaptee adaptee = new Adaptee();
@Override
public void request() {
adaptee.specificRequest();
}
}
public class Adaptee {
void specificRequest() {
System.out.println("Called specificRequest()");
}
}
Output
Called specificRequest()
Top comments (0)