diff --git a/src/aliensimulator/Alien.java b/src/aliensimulator/Alien.java
index e8ac21fe9cd1c3170f9933d618b5dc8ebdd11442..53e1fe0e6d1d75243d10779badb3cffbcd8d0bfd 100644
--- a/src/aliensimulator/Alien.java
+++ b/src/aliensimulator/Alien.java
@@ -2,9 +2,23 @@ package aliensimulator;
 
 public abstract class Alien {
 	
-	public abstract void darstellen();
+	protected ErdeBesuchverhalten erdeBesuchverhalten;
+
+	abstract void darstellen();
 
 	public void fliegen() {
 		System.out.println("Ich fliege durch den Weltraum.");
 	}
+	
+	public void erdeBesuchen(){
+		erdeBesuchverhalten.erdeBesuchen();
+	}
+
+	public ErdeBesuchverhalten getErdeBesuchverhalten() {
+		return erdeBesuchverhalten;
+	}
+
+	public void setErdeBesuchverhalten(ErdeBesuchverhalten erdeBesuchverhalten) {
+		this.erdeBesuchverhalten = erdeBesuchverhalten;
+	}
 }
diff --git a/src/aliensimulator/AlienMars.java b/src/aliensimulator/AlienMars.java
index 426cbac4c8ff5ac64c79e5a98edb8bbbe8f067d5..037afd38c4a418b108a3c0a7c16b95e4e41e48da 100644
--- a/src/aliensimulator/AlienMars.java
+++ b/src/aliensimulator/AlienMars.java
@@ -1,8 +1,12 @@
 package aliensimulator;
 
 public class AlienMars extends Alien {
+	
+	public AlienMars(){
+		erdeBesuchverhalten = new ErdeFeindlichBesuchen();
+	}
 
-    public void darstellen() {
-        System.out.println("Ich bin das Alien vom Mars.");
-    }
+	public void darstellen() {
+		System.out.println("Ich bin das Alien vom Mars.");
+	}
 }
diff --git a/src/aliensimulator/AlienMond.java b/src/aliensimulator/AlienMond.java
index 715c604799b6fcee96d4d7569f93c9d219be5803..32686870b74b3da34a740ed01a0ff8851e643a2e 100644
--- a/src/aliensimulator/AlienMond.java
+++ b/src/aliensimulator/AlienMond.java
@@ -2,6 +2,10 @@ package aliensimulator;
 
 public class AlienMond extends Alien {
 	
+	public AlienMond(){
+		erdeBesuchverhalten = new ErdeFreundlichBesuchen();
+	}
+	
 	public void darstellen() {
 		System.out.println("Ich bin das Alien vom Mond.");
 	}
diff --git a/src/aliensimulator/AlienSimulator.java b/src/aliensimulator/AlienSimulator.java
index 4a9f6fd568fb1fe3e4c435d758848bf9d7a43bbe..68a94e55ca356b22c3b1113197af7bcd516d16c9 100644
--- a/src/aliensimulator/AlienSimulator.java
+++ b/src/aliensimulator/AlienSimulator.java
@@ -3,13 +3,25 @@ package aliensimulator;
 public class AlienSimulator {
 	
 	public static void main(String[] args) {
+		Alien alienMars = new AlienMars();
+		alienMars.darstellen();
+		alienMars.fliegen();
 
-		Alien alien = new AlienMars();
-		alien.darstellen();
-		alien.fliegen();
+		// Änderung zur Laufzeit des Verhaltens des Aliens vom Mars
+		System.out.println("Verhalten vom Alien vom Mars VOR der Änderung seines Verhaltens:");
+		alienMars.erdeBesuchen();
+		System.out.println("Verhalten vom Alien vom Mars NACH der Änderung seines Verhaltens:");
+		alienMars.setErdeBesuchverhalten(new ErdeFreundlichBesuchen());
+		alienMars.erdeBesuchen();
 
-		alien = new AlienMond();
-		alien.darstellen();
-		alien.fliegen();
+		Alien alienMond = new AlienMond();
+		alienMond.darstellen();
+		alienMond.fliegen();
+		alienMond.erdeBesuchen();
+
+		Alien alienVenus = new AlienVenus();
+		alienVenus.darstellen();
+		alienVenus.fliegen();
+		alienVenus.erdeBesuchen();
 	}
 }
diff --git a/src/aliensimulator/AlienVenus.java b/src/aliensimulator/AlienVenus.java
new file mode 100644
index 0000000000000000000000000000000000000000..55eafb9b552c61284752775bcd4aa7e178fd6bdf
--- /dev/null
+++ b/src/aliensimulator/AlienVenus.java
@@ -0,0 +1,12 @@
+package aliensimulator;
+
+public class AlienVenus extends Alien {
+	
+	public AlienVenus(){
+		erdeBesuchverhalten = new ErdeFreundlichBesuchen();
+	}
+
+	public void darstellen() {
+		System.out.println("Ich bin das Alien von der Venus.");
+	}
+}
diff --git a/src/aliensimulator/ErdeBesuchverhalten.java b/src/aliensimulator/ErdeBesuchverhalten.java
new file mode 100644
index 0000000000000000000000000000000000000000..9100529ebcabed1ad5dacf8dc54b6729491cbe83
--- /dev/null
+++ b/src/aliensimulator/ErdeBesuchverhalten.java
@@ -0,0 +1,6 @@
+package aliensimulator;
+
+public interface ErdeBesuchverhalten {
+	
+	public void erdeBesuchen();
+}
diff --git a/src/aliensimulator/ErdeFeindlichBesuchen.java b/src/aliensimulator/ErdeFeindlichBesuchen.java
new file mode 100644
index 0000000000000000000000000000000000000000..178b940eb281e910ba242869bc0eb87317f8bb3b
--- /dev/null
+++ b/src/aliensimulator/ErdeFeindlichBesuchen.java
@@ -0,0 +1,6 @@
+package aliensimulator;
+
+public class ErdeFeindlichBesuchen implements ErdeBesuchverhalten{
+
+	public void erdeBesuchen() { System.out.println("Ich besuche die Erde. Die Menschen schmecken gut."); }
+}
diff --git a/src/aliensimulator/ErdeFreundlichBesuchen.java b/src/aliensimulator/ErdeFreundlichBesuchen.java
new file mode 100644
index 0000000000000000000000000000000000000000..77670653506982d6b20baa9a5b22d9b3168a8fb3
--- /dev/null
+++ b/src/aliensimulator/ErdeFreundlichBesuchen.java
@@ -0,0 +1,8 @@
+package aliensimulator;
+
+public class ErdeFreundlichBesuchen implements ErdeBesuchverhalten {
+	
+	public void erdeBesuchen (){
+		System.out.println("Ich besuche die Erde. Die Menschen sind wundervoll.");
+	};
+}