Updated the adapter example.

This commit is contained in:
Ilkka Seppala 2014-08-31 19:19:28 +03:00
parent 9a0bb6b0fe
commit 37d58d31d0
4 changed files with 41 additions and 25 deletions

View File

@ -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.
*
*/
@ -10,7 +10,7 @@ public class App
{
public static void main( String[] args )
{
GnomeEngineerAdapter engineer = new GnomeEngineerAdapter();
engineer.flyGoblinGlider();
GnomeEngineer engineer = new GnomeEngineer();
engineer.operateDevice();
}
}

View File

@ -0,0 +1,13 @@
package com.iluwatar;
/**
*
* The interface the client knows how
* to use.
*
*/
public interface Engineer {
void operateDevice();
}

View 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();
}
}

View File

@ -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();
}
}