diff --git a/Aufgabenblatt_1-Aufgabe_1-Abstrakte_Klasse/doc/Klassendiagramm_Hunde.dia b/Aufgabenblatt_1-Aufgabe_1-Abstrakte_Klasse/doc/Klassendiagramm_Hunde.dia
new file mode 100644
index 0000000000000000000000000000000000000000..ea53a4e755969a9c92be8ff50270c6c8a915e13a
Binary files /dev/null and b/Aufgabenblatt_1-Aufgabe_1-Abstrakte_Klasse/doc/Klassendiagramm_Hunde.dia differ
diff --git a/Aufgabenblatt_1-Aufgabe_1-Abstrakte_Klasse/doc/Klassendiagramm_Hunde.png b/Aufgabenblatt_1-Aufgabe_1-Abstrakte_Klasse/doc/Klassendiagramm_Hunde.png
new file mode 100644
index 0000000000000000000000000000000000000000..852da500eb0d941e60014369314170b610fb6fae
Binary files /dev/null and b/Aufgabenblatt_1-Aufgabe_1-Abstrakte_Klasse/doc/Klassendiagramm_Hunde.png differ
diff --git a/Aufgabenblatt_1-Aufgabe_1-Abstrakte_Klasse/src/Aufgabe1AbstracteKlassen.java b/Aufgabenblatt_1-Aufgabe_1-Abstrakte_Klasse/src/Aufgabe1AbstracteKlassen.java
new file mode 100644
index 0000000000000000000000000000000000000000..ab22a577d149e517dbf4a4ccb996f8a955d1d239
--- /dev/null
+++ b/Aufgabenblatt_1-Aufgabe_1-Abstrakte_Klasse/src/Aufgabe1AbstracteKlassen.java
@@ -0,0 +1,11 @@
+public class Aufgabe1AbstracteKlassen {
+
+    public static void main(String[] args) {
+        
+        Hund[] hundeRudel = HundeRudel.erstelleRudel(3); // Range 0-5
+        
+        for( int i = 0; i<hundeRudel.length; i++ ) {
+            hundeRudel[i].drucke();
+        }
+    }
+}
\ No newline at end of file
diff --git a/Aufgabenblatt_1-Aufgabe_1-Abstrakte_Klasse/src/Dackel.java b/Aufgabenblatt_1-Aufgabe_1-Abstrakte_Klasse/src/Dackel.java
new file mode 100644
index 0000000000000000000000000000000000000000..2460d99c519c3a8c2dacbbf50f3b15275b80ca5d
--- /dev/null
+++ b/Aufgabenblatt_1-Aufgabe_1-Abstrakte_Klasse/src/Dackel.java
@@ -0,0 +1,14 @@
+public class Dackel extends Hund {
+    
+    public Dackel(String name) {
+        super(name);
+    }
+    
+    public String bellen() {
+        return "wau wau";
+    }
+    
+    public String fressen() {
+        return "schmatz schmatz";
+    }
+}
diff --git a/Aufgabenblatt_1-Aufgabe_1-Abstrakte_Klasse/src/Hund.java b/Aufgabenblatt_1-Aufgabe_1-Abstrakte_Klasse/src/Hund.java
new file mode 100644
index 0000000000000000000000000000000000000000..435e7b97020502032e88d2992bbd4cc14a383767
--- /dev/null
+++ b/Aufgabenblatt_1-Aufgabe_1-Abstrakte_Klasse/src/Hund.java
@@ -0,0 +1,19 @@
+public abstract class Hund {
+    
+    final private String name;
+   
+    public Hund (String name) {
+        this.name = name;
+    }
+    
+    public void drucke() {
+        System.out.println("Name: " + this.name);
+        System.out.println("Fressgeraeusch: " + this.fressen());
+        System.out.println("Bellgeraeusch: " + this.bellen());
+        System.out.println();
+    }
+        
+    public abstract String bellen();
+    
+    public abstract String fressen();
+}
diff --git a/Aufgabenblatt_1-Aufgabe_1-Abstrakte_Klasse/src/HundeRudel.java b/Aufgabenblatt_1-Aufgabe_1-Abstrakte_Klasse/src/HundeRudel.java
new file mode 100644
index 0000000000000000000000000000000000000000..75789404ec268edf300a98cff61b0f479b74646d
--- /dev/null
+++ b/Aufgabenblatt_1-Aufgabe_1-Abstrakte_Klasse/src/HundeRudel.java
@@ -0,0 +1,19 @@
+public class HundeRudel {
+    
+    private static final String[] moeglicheHundeNamen = { "Peter", "Tobias", "Jan", "Thomas", "Jens" };
+            
+    public static Hund[] erstelleRudel(int anzahl) {
+        
+        Hund[] rudel = new Hund[anzahl];
+        
+        for( int i=0; i<anzahl; i++ ) {
+            if ( i%2 == 1 ) {
+                rudel[i] = new Dackel(moeglicheHundeNamen[i]);
+            } else {
+                rudel[i] = new Schaeferhund(moeglicheHundeNamen[i]);
+            }
+        }
+        
+        return rudel;
+    }
+}
\ No newline at end of file
diff --git a/Aufgabenblatt_1-Aufgabe_1-Abstrakte_Klasse/src/Schaeferhund.java b/Aufgabenblatt_1-Aufgabe_1-Abstrakte_Klasse/src/Schaeferhund.java
new file mode 100644
index 0000000000000000000000000000000000000000..f34c5c940fa2c42f3ff93de96ee20f47fd9783a1
--- /dev/null
+++ b/Aufgabenblatt_1-Aufgabe_1-Abstrakte_Klasse/src/Schaeferhund.java
@@ -0,0 +1,14 @@
+public class Schaeferhund extends Hund {
+    
+    public Schaeferhund(String name) {
+        super(name);
+    }
+    
+    public String bellen() {
+        return "wuff wuff";
+    }
+    
+    public String fressen() {
+        return "schlurp schlurp";
+    }
+}
\ No newline at end of file