Guest User

Untitled

a guest
Dec 11th, 2023
42
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.25 KB | None | 0 0
  1. // Target Interface
  2. interface Temperature {
  3. double getTemperature();
  4. }
  5.  
  6. // Adaptee (Existing class with incompatible interface)
  7. class CelsiusTemperature {
  8. private double temperature;
  9.  
  10. CelsiusTemperature(double temperature) {
  11. this.temperature = temperature;
  12. }
  13.  
  14. double getCelsiusTemperature() {
  15. return temperature;
  16. }
  17. }
  18.  
  19. // Adapter
  20. class CelsiusAdapter implements Temperature {
  21. private CelsiusTemperature celsiusTemperature;
  22.  
  23. CelsiusAdapter(CelsiusTemperature celsiusTemperature) {
  24. this.celsiusTemperature = celsiusTemperature;
  25. }
  26.  
  27. @Override
  28. public double getTemperature() {
  29. // Convert Celsius temperature to Fahrenheit
  30. return celsiusToFarhenheit(celsiusTemperature.getCelsiusTemperature());
  31. }
  32.  
  33. private double celsiusToFarhenheit(double celsius) {
  34. return (celsius * 9 / 5) + 32;
  35. }
  36. }
  37.  
  38. // Client Code
  39. public class Client {
  40. public static void main(String[] args) {
  41. // Using the Target interface
  42. Temperature temperature = new CelsiusAdapter(new CelsiusTemperature(25.0));
  43. System.out.println("Temperature in Fahrenheit: " + temperature.getTemperature());
  44. // Output: Temperature in Fahrenheit: 77.0
  45. }
  46. }
  47.  
Advertisement
Add Comment
Please, Sign In to add comment