Updated the adapter example.
This commit is contained in:
parent
9a0bb6b0fe
commit
37d58d31d0
@ -2,7 +2,7 @@ package com.iluwatar;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* Adapter (GnomeEngineerAdapter) converts the interface of the
|
* Adapter (GnomeEngineer) converts the interface of the
|
||||||
* target class (GoblinGlider) into suitable one.
|
* target class (GoblinGlider) into suitable one.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@ -10,7 +10,7 @@ public class App
|
|||||||
{
|
{
|
||||||
public static void main( String[] args )
|
public static void main( String[] args )
|
||||||
{
|
{
|
||||||
GnomeEngineerAdapter engineer = new GnomeEngineerAdapter();
|
GnomeEngineer engineer = new GnomeEngineer();
|
||||||
engineer.flyGoblinGlider();
|
engineer.operateDevice();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
13
adapter/src/main/java/com/iluwatar/Engineer.java
Normal file
13
adapter/src/main/java/com/iluwatar/Engineer.java
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
package com.iluwatar;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* The interface the client knows how
|
||||||
|
* to use.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public interface Engineer {
|
||||||
|
|
||||||
|
void operateDevice();
|
||||||
|
|
||||||
|
}
|
25
adapter/src/main/java/com/iluwatar/GnomeEngineer.java
Normal file
25
adapter/src/main/java/com/iluwatar/GnomeEngineer.java
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
package com.iluwatar;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Adapter class. Adapts the interface of the
|
||||||
|
* GoblinGlider into Engineer expected by the
|
||||||
|
* client.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class GnomeEngineer implements Engineer {
|
||||||
|
|
||||||
|
private GoblinGlider glider;
|
||||||
|
|
||||||
|
public GnomeEngineer() {
|
||||||
|
glider = new GoblinGlider();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void operateDevice() {
|
||||||
|
glider.attachGlider();
|
||||||
|
glider.gainSpeed();
|
||||||
|
glider.takeOff();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -1,22 +0,0 @@
|
|||||||
package com.iluwatar;
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* Adapter class.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public class GnomeEngineerAdapter {
|
|
||||||
|
|
||||||
private GoblinGlider glider;
|
|
||||||
|
|
||||||
public GnomeEngineerAdapter() {
|
|
||||||
glider = new GoblinGlider();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void flyGoblinGlider() {
|
|
||||||
glider.attachGlider();
|
|
||||||
glider.gainSpeed();
|
|
||||||
glider.takeOff();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
Loading…
x
Reference in New Issue
Block a user