Implement Another Version of Adapter Pattern
parent
7b5de89dd4
commit
017a22e9fc
@ -0,0 +1,8 @@
|
||||
package adapter.animal;
|
||||
|
||||
public interface Bird {
|
||||
|
||||
void fly();
|
||||
|
||||
void makeSound();
|
||||
}
|
@ -0,0 +1,16 @@
|
||||
package adapter.animal;
|
||||
|
||||
public class BirdAdapter implements ToyDuck {
|
||||
|
||||
private final Bird bird;
|
||||
|
||||
public BirdAdapter(Bird bird) {
|
||||
this.bird = bird;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void squeak() {
|
||||
bird.makeSound();
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,21 @@
|
||||
package adapter.animal;
|
||||
|
||||
public class Main {
|
||||
public static void main(String[] args) {
|
||||
|
||||
Bird sparrow = new Sparrow();
|
||||
ToyDuck plasticToyDuck = new PlasticToyDuck();
|
||||
|
||||
System.out.println("Sparrow...");
|
||||
sparrow.fly();
|
||||
sparrow.makeSound();
|
||||
|
||||
System.out.println("\nPlasticToyDuck...");
|
||||
plasticToyDuck.squeak();
|
||||
|
||||
System.out.println("\nBirdAdapter...");
|
||||
ToyDuck birdAdapter = new BirdAdapter(sparrow);
|
||||
birdAdapter.squeak();
|
||||
|
||||
}
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
package adapter.animal;
|
||||
|
||||
public class PlasticToyDuck implements ToyDuck {
|
||||
|
||||
@Override
|
||||
public void squeak() {
|
||||
System.out.println("Squeak");
|
||||
}
|
||||
}
|
@ -0,0 +1,14 @@
|
||||
package adapter.animal;
|
||||
|
||||
public class Sparrow implements Bird {
|
||||
|
||||
@Override
|
||||
public void fly() {
|
||||
System.out.println("Sparrow is Flying");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void makeSound() {
|
||||
System.out.println("*Sparrow Noises*");
|
||||
}
|
||||
}
|
@ -0,0 +1,6 @@
|
||||
package adapter.animal;
|
||||
|
||||
public interface ToyDuck {
|
||||
|
||||
void squeak();
|
||||
}
|
Loading…
Reference in New Issue