Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Target Interface
- interface Temperature {
- double getTemperature();
- }
- // Adaptee (Existing class with incompatible interface)
- class CelsiusTemperature {
- private double temperature;
- CelsiusTemperature(double temperature) {
- this.temperature = temperature;
- }
- double getCelsiusTemperature() {
- return temperature;
- }
- }
- // Adapter
- class CelsiusAdapter implements Temperature {
- private CelsiusTemperature celsiusTemperature;
- CelsiusAdapter(CelsiusTemperature celsiusTemperature) {
- this.celsiusTemperature = celsiusTemperature;
- }
- @Override
- public double getTemperature() {
- // Convert Celsius temperature to Fahrenheit
- return celsiusToFarhenheit(celsiusTemperature.getCelsiusTemperature());
- }
- private double celsiusToFarhenheit(double celsius) {
- return (celsius * 9 / 5) + 32;
- }
- }
- // Client Code
- public class Client {
- public static void main(String[] args) {
- // Using the Target interface
- Temperature temperature = new CelsiusAdapter(new CelsiusTemperature(25.0));
- System.out.println("Temperature in Fahrenheit: " + temperature.getTemperature());
- // Output: Temperature in Fahrenheit: 77.0
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment