Skip to content
Snippets Groups Projects
Commit 6e2135a1 authored by Peter Hertkorn's avatar Peter Hertkorn
Browse files

Add adapter pattern for AlienFromNY, NeutralBesuchen and ZerstoererischBesuchen

parent ab335027
No related branches found
No related tags found
No related merge requests found
package aliensimulator;
import aliens_3rdparty.AlienFromNY;
public class AlienAdapter extends Alien {
private AlienFromNY alienFromNY;
public AlienAdapter(AlienFromNY alienNY) {
this.alienFromNY = alienNY;
erdeBesuchverhalten = new ErdeZerstoererischAdapter();
}
@Override
public void darstellen() {
alienFromNY.show();
}
@Override
public void fliegen() {
alienFromNY.fly();
}
}
package aliensimulator;
import aliens_3rdparty.AlienFromNY;
import aliens_3rdparty.NeutralBesuchen;
public class AlienSimulator {
public static void main(String[] args) {
......@@ -23,5 +26,14 @@ public class AlienSimulator {
alienVenus.darstellen();
alienVenus.fliegen();
alienVenus.erdeBesuchen();
Alien alienFromNY = new AlienAdapter(new AlienFromNY());
alienFromNY.darstellen();
alienFromNY.fliegen();
System.out.println("Verhalten vom Alien von NY VOR der Änderung seines Verhaltens:");
alienFromNY.erdeBesuchen();
alienFromNY.setErdeBesuchverhalten(new ErdeNeutralAdapter(new NeutralBesuchen()));
System.out.println("Verhalten vom Alien von NY NACH der Änderung seines Verhaltens:");
alienFromNY.erdeBesuchen();
}
}
package aliensimulator;
import aliens_3rdparty.NeutralBesuchen;
public class ErdeNeutralAdapter implements ErdeBesuchverhalten {
private NeutralBesuchen neutralBesuchen;
public ErdeNeutralAdapter(NeutralBesuchen neutralBesuchen) {
this.neutralBesuchen = neutralBesuchen;
}
@Override
public void erdeBesuchen() {
neutralBesuchen.abwarten();
}
}
package aliensimulator;
import aliens_3rdparty.ZerstoererischBesuchen;
public class ErdeZerstoererischAdapter extends ZerstoererischBesuchen implements ErdeBesuchverhalten {
@Override
public void erdeBesuchen() {
zerstoere();
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment