Objektorientierte Programmierung OOP Programmieren mit Java

Größe: px
Ab Seite anzeigen:

Download "Objektorientierte Programmierung OOP Programmieren mit Java"

Transkript

1 8 Klassen, Objekte, Methoden, Vererbung, Konstruktoren 1. Klasse Tier 2. Objekte Hund und Fisch Objektorientierte Programmierung OOP Programmieren mit Java 3. Programm Tierheim 4. Klasse Tier 5. Objekte Hund, Fisch und Spinne 6. Anlegen von Objekten: Tierheim2 8 Klassen, Objekte, Methoden, Vererbung, Konstruktoren 7. Konstruktor: Tierheim3 8. Arrays von Objekten: Tierheim4 9. Vererbung: Tierheim5 Übungen 10. Vererbung: Tierheim6 11. Methoden mit Rückgabewert: Immobilienverwaltung Methoden mit Rückgabewert: Immobilienverwaltung Kalender und Java-Dokumentation: Month1 Prof. Dr. Rolf Dornberger OOP: 8 Klassen, Objekte, Methoden, Vererbung, Konstruktoren Lösung 1: Klasse Tier Aufgabe 1: Klasse Tier Erstellen Sie die Klasse Tier mit den Attributen Name und AnzahlBeine und der Methode beschreibetier. Die Methode schreibt den Namen und die Anzahl der Beine des Tiers auf den Bildschirm. Zeichnen Sie dazu zuerst ein Klassendiagramm. Programmieren Sie danach die Klasse. Klassendiagramm für die Klasse Tier: Java-Code: Tier Name AnzahlBeine beschreibetier() public class Tier public String Name; public int AnzahlBeine; public void beschreibetier() System.out.println(Name + " hat " + AnzahlBeine + " Beine"); Prof. Dr. Rolf Dornberger OOP: 8 Klassen, Objekte, Methoden, Vererbung, Konstruktoren Prof. Dr. Rolf Dornberger OOP: 8 Klassen, Objekte, Methoden, Vererbung, Konstruktoren

2 Lösung 2: Objekte Hund und Fisch Aufgabe 2: Objekte Hund und Fisch Objekt einhund und Objekt einfisch: Zeichnen Sie die Objektdiagramme für das Objekt einhund mit dem Namen Fiffi, der 4 Beine besitzt, und für das Objekt einfisch mit dem Namen Blubb, der keine Beine besitzt. einhund:tier Name = Fiffi AnzahlBeine = 4 einfisch:tier Name = Blubb AnzahlBeine = 0 beschreibetier() Schreiben Sie die Code-Zeilen, mit denen in Java diese Objekte aus der Klasse Tier gebildet und ihnen die entsprechenden Attribute zugewiesen werden. Anlegen der Objekte einhund und einfisch aus der Klasse Tier und Zuweisen der Attributwerte: Tier einhund = new Tier(); einhund.name = "Fiffi"; einhund.anzahlbeine = 4; Tier einfisch = new Tier(); einfisch.name = "Blubb"; einfisch.anzahlbeine = 0; Prof. Dr. Rolf Dornberger OOP: 8 Klassen, Objekte, Methoden, Vererbung, Konstruktoren Prof. Dr. Rolf Dornberger OOP: 8 Klassen, Objekte, Methoden, Vererbung, Konstruktoren Aufgabe 3: Programm Tierheim Schreiben Sie ein Java-Programm Tierheim, das die Klasse Tier verwendet und damit die Objekte einhund und einfisch mit den entsprechenden Attributen erzeugt. Führen Sie für jedes der beiden Objekte die Methode beschreibetier() aus, so dass Sie auf dem Bildschirm entsprechende Meldung erhalten: Lösung 3: Programm Tierheim public class Tierheim public static void main(string[] args) Tier einhund = new Tier(); einhund.name = "Fiffi"; einhund.anzahlbeine = 4; Tier einfisch = new Tier(); einfisch.name = "Blubb"; einfisch.anzahlbeine = 0; einhund.beschreibetier(); einfisch.beschreibetier(); Hinweis: Zuerst die Klasse Tier kompilieren, danach das Java- Programm/Klasse Tierheim. Beide Klassen (zumindest die class-files) müssen im selben Verzeichnis liegen. Dann Tierheim aufrufen. Prof. Dr. Rolf Dornberger OOP: 8 Klassen, Objekte, Methoden, Vererbung, Konstruktoren Prof. Dr. Rolf Dornberger OOP: 8 Klassen, Objekte, Methoden, Vererbung, Konstruktoren

3 Lösung 4: Klasse Tier Aufgabe 4: Klasse Tier Erweitern Sie die Klasse Tier zu TierKonstruktor. TierKonstruktor besitzt die weitere Methode hatbeine, die true als Rückgabewert liefert, wenn die Anzahl der Beine größer 0 ist, ansonsten false. TierKonstruktor besitzt außerdem zwei Konstruktoren. Der erste Konstruktor setzt mit einem Übergabeparameter das Attribut Name. Der zweite Konstruktor setzt mit zwei Übergabeparametern die Attribute Name und AnzahlBeine. Zeichnen Sie zuerst das Klassendiagramm. Programmieren Sie danach die Klasse. Schreiben Sie das Java-Programm Tierheim1, das den Objekten einhund und einfisch über die Konstruktoren die entsprechenden Werte zuweist. Die Ausgabe von Tierheim1 bleibt immer noch unverändert: Klassendiagramm für die Klasse TierKonstruktor Alles in einer Klasse: TierKonstruktor Name AnzahlBeine Oder mit Vererbung von Klasse Tier: Tier Name AnzahlBeine TierKonstruktor Prof. Dr. Rolf Dornberger OOP: 8 Klassen, Objekte, Methoden, Vererbung, Konstruktoren Prof. Dr. Rolf Dornberger OOP: 8 Klassen, Objekte, Methoden, Vererbung, Konstruktoren Lösung 4: Klasse Tier Java-Code: Konstruktor mit einem Übergabeparameter Konstruktor mit zwei Übergabeparametern zusätzliche Methode public class TierKonstruktor // Attribute public String Name; public int AnzahlBeine; // Konstruktor mit 1 Übergabeparameter: String public TierKonstruktor (String Name) this.name = Name; // Konstruktor mit 2 Übergabeparameter: String, int public TierKonstruktor (String Name, int AnzahlBeine) this.name = Name; this.anzahlbeine = AnzahlBeine; // Methoden public void beschreibetier() System.out.println(Name + " hat " + AnzahlBeine + " Beine"); public boolean hatbeine() boolean Rueckgabewert = (AnzahlBeine > 0)? true : false; return Rueckgabewert; Lösung 4: Klasse Tier Das entsprechende Programm Tierheim1 sieht damit wie folgt aus: Wird das Objekt einhund der Klasse TierKonstruktor erzeugt und ein Übergabeparameter (hier String) mit übergeben, wird automatisch das Attribut Name gesetzt. Das explizite Setzen von einhund.name entfällt damit. Wird das Objekt einfisch der Klasse TierKonstruktor erzeugt und zwei Übergabeparameter (hier String und int) mit übergeben, werden automatisch die Attribute AnzahlBeine und Name gesetzt. Das explizite Setzen von einfisch.name und einfisch.anzahlbeine entfällt damit. public class Tierheim1 public static void main(string[] args) TierKonstruktor einhund = new TierKonstruktor("Fiffi"); //einhund.name = "Fiffi"; einhund.anzahlbeine = 4; TierKonstruktor einfisch = new TierKonstruktor("Blubb", 0); //einfisch.name = "Blubb"; //einfisch.anzahlbeine = 0; einhund.beschreibetier(); einfisch.beschreibetier(); Prof. Dr. Rolf Dornberger OOP: 8 Klassen, Objekte, Methoden, Vererbung, Konstruktoren Prof. Dr. Rolf Dornberger OOP: 8 Klassen, Objekte, Methoden, Vererbung, Konstruktoren

4 Lösung 5: Objekte Hund, Fisch und Spinne Aufgabe 5: Objekte Hund, Fisch und Spinne Leiten Sie von der Klasse TierKonstruktor folgende Objekte ab: einhund, einfisch und einespinne Zeichnen Sie die Objektdiagramme für das Objekt einhund mit dem Namen Fiffi (4 Beine), für das Objekt einfisch mit dem Namen Blubb (keine Beine), und für das Objekt einespinne mit dem Namen Spinny (8 Beine). Schreiben Sie die Code-Zeilen, mit denen in Java die Methode hatbeine() für das Objekt einespinne aufgerufen wird. Objekte einhund, einfisch und einespinne, die von der Klasse TierKonstruktor abgeleitet sind: einhund:tierkonstruktor Name = Fiffi AnzahlBeine = 4 einfisch:tierkonstruktor Name = Blubb AnzahlBeine = 0 beschreibetier() Aufruf der Methode hatbeine() für das Objekt einespinne: einespinne:tierkonstruktor Name = Spinny AnzahlBeine = 8 beschreibetier() if (einespinne.hatbeine()) System.out.println(eineSpinne.Name + " hat Beine"); else System.out.println(eineSpinne.Name + " hat keine Beine"); Prof. Dr. Rolf Dornberger OOP: 8 Klassen, Objekte, Methoden, Vererbung, Konstruktoren Prof. Dr. Rolf Dornberger OOP: 8 Klassen, Objekte, Methoden, Vererbung, Konstruktoren Lösung 6: Anlegen von Objekten: Tierheim2 Aufgabe 6: Anlegen von Objekten: Tierheim2 Schreiben Sie ein Java-Programm Tierheim2, das die erweiterte Klasse TierKonstruktor verwendet und damit die Objekte einhund, einfisch und einespinne mit den entsprechenden Attributen erzeugt. Testen Sie mit der Methode hatbeine() jedes der Objekte, ob das Tier Beine hat, und geben Sie dann den Namen des Tieres mit der entsprechenden Meldung aus: public class Tierheim2 public static void main(string[] args) TierKonstruktor einhund = new TierKonstruktor("Fiffi", 4); TierKonstruktor einfisch = new TierKonstruktor("Blubb", 0); TierKonstruktor einespinne = new TierKonstruktor("Spinny", 8); if (einhund.hatbeine()) System.out.println(einHund.Name + " hat Beine"); else System.out.println(einHund.Name + " hat keine Beine"); einhund.beschreibetier(); if (einfisch.hatbeine()) System.out.println(einFisch.Name + " hat Beine"); else System.out.println(einFisch.Name + " hat keine Beine"); einfisch.beschreibetier(); if (einespinne.hatbeine()) System.out.println(eineSpinne.Name + " hat Beine"); else System.out.println(eineSpinne.Name + " hat keine Beine"); einespinne.beschreibetier(); Prof. Dr. Rolf Dornberger OOP: 8 Klassen, Objekte, Methoden, Vererbung, Konstruktoren Prof. Dr. Rolf Dornberger OOP: 8 Klassen, Objekte, Methoden, Vererbung, Konstruktoren

5 Aufgabe 7: Konstruktor: Tierheim3 Nennen Sie die Klasse TierKonstruktor zu TierNeu um und fügen Sie einen Konstruktor, der keine Übergabeparameter benötigt, und einen weiteren Konstruktor, der die Anzahl der Beine als Übergabeparameter benötigt, ein. Schreiben Sie ein Programm Tierheim3, das ein Objekt einunbekanntestier erzeugt und ihm den Wert 12 als Anzahl der Beine zuweist. Wenn Sie dem Objekt einunbekanntestier nun keinen Attributwert zum Attribut Name zuweisen, erhalten Sie nachfolgende Ausgabe. Warum? Lösung 7: Konstruktor: Tierheim3 Leerer Konstruktor in der Klasse TierNeu, der keine Übergabeparameter benötigt. Weiterer Konstruktor, der als Übergabeparameter nur die Anzahl der Beine (also ein int) als Input benötigt. public class TierNeu // Attribute public String Name; public int AnzahlBeine; // Konstruktor mit 0 Übergabeparameter public TierNeu () // Konstruktor mit 1 Übergabeparameter: String public TierNeu (String Name) this.name = Name; // Konstruktor mit 1 Übergabeparameter: int public TierNeu (int AnzahlBeine) this.anzahlbeine = AnzahlBeine; // Konstruktor mit 2 Übergabeparameter: String, int public TierNeu (String Name, int AnzahlBeine) this.name = Name; this.anzahlbeine = AnzahlBeine; // Methoden public void beschreibetier() System.out.println(Name + " hat " + AnzahlBeine + " Beine"); public boolean hatbeine() boolean Rueckgabewert = (AnzahlBeine > 0)? true : false; return Rueckgabewert; Prof. Dr. Rolf Dornberger OOP: 8 Klassen, Objekte, Methoden, Vererbung, Konstruktoren Prof. Dr. Rolf Dornberger OOP: 8 Klassen, Objekte, Methoden, Vererbung, Konstruktoren Lösung 7: Konstruktor: Tierheim3 Das Programm Tierheim3 legt ein Objekt einunbekanntestier an und weist ihm den Wert 12 als Anzahl der Beine zu. public class Tierheim3 public static void main(string[] args) TierNeu einunbekanntestier = new TierNeu(12); Aufgabe 8: Arrays von Objekten: Tierheim4 Schreiben Sie ein Programm Tierheim4, das ein Array von Objekten einaffe[] für maximal 10 Einträge erzeugt. Weisen Sie nun diesem Array einaffe[] folgende 2 Affen zu, damit folgende Meldung ausgegeben werden kann: einunbekanntestier.beschreibetier(); Der Default-Wert null wird als Name ausgegeben, da das die Voreinstellung für Attribute respektive Variablen vom Typ String ist, die noch nicht initialisiert wurden. Prof. Dr. Rolf Dornberger OOP: 8 Klassen, Objekte, Methoden, Vererbung, Konstruktoren Prof. Dr. Rolf Dornberger OOP: 8 Klassen, Objekte, Methoden, Vererbung, Konstruktoren

6 Aufgabe 9: Vererbung: Tierheim5 Lösung 8: Arrays von Objekten: Tierheim4 public class Tierheim4 public static void main(string[] args) TierNeu[] einaffe = new TierNeu[10]; // oder so: //TierNeu[] einaffe; //einaffe = new TierNeu[10]; einaffe[0] = new TierNeu("Sammy", 2); einaffe[1] = new TierNeu("Nicki", 2); einaffe[0].beschreibetier(); einaffe[1].beschreibetier(); Nehmen Sie unten stehendes Vererbungsschema als Anregung und modellieren Sie eine Klasse Säugetier (Saeugetier), die die Klasse Tier (in den vorherigen Beispielen als TierNeu bezeichnet) erweitert. Die Klasse Saeugetier kennt das weitere Attribut Tragzeit und besitzt einen entsprechenden Konstuktor. Zeichnen Sie zuerst das Klassendiagramm für diese Vererbung. Programmieren Sie die entsprechende Klasse Saeugetier und das Programm Tierheim5, das diese Klasse aufruft und folgende Ausgabe erzeugt: Tier Vogel Säugetier Fisch Lebewesen Pflanze Mensch Affe Schimpanse Prof. Dr. Rolf Dornberger OOP: 8 Klassen, Objekte, Methoden, Vererbung, Konstruktoren Prof. Dr. Rolf Dornberger OOP: 8 Klassen, Objekte, Methoden, Vererbung, Konstruktoren Lösung 9: Vererbung: Tierheim5 Klassendiagramm: Die Klasse Saeugetier erbt die Attribute und Methoden der übergeordneten Klasse TierNeu. Klasse Saeugetier, die von der Klasse TierNeu abgeleitet ist (Schlüsselwort extends): public class Saeugetier extends TierNeu // Attribute public double Tragzeit; // Konstruktor mit 1 Übergabeparameter: double public Saeugetier (double Tragzeit) this.tragzeit = Tragzeit; TierNeu Name AnzahlBeine Saeugetier Tragzeit Lösung 9: Vererbung: Tierheim5 public class Tierheim5 public static void main(string[] args) // Objekt anlegen und Tragzeit zuweisen Saeugetier einelefant = new Saeugetier(15.5); // andere Attribute setzen einelefant.name = "Ruessel"; einelefant.anzahlbeine = 4; // Ausgabe Attribute einelefant.beschreibetier(); System.out.println("Tragzeit: "+einelefant.tragzeit); Prof. Dr. Rolf Dornberger OOP: 8 Klassen, Objekte, Methoden, Vererbung, Konstruktoren Prof. Dr. Rolf Dornberger OOP: 8 Klassen, Objekte, Methoden, Vererbung, Konstruktoren

7 Aufgabe 10: Vererbung: Tierheim6 Nennen Sie die Klasse Saeugetier zu SaeugetierNeu um und fügen Sie einen Konstuktor ein, der die 3 Übergabeparameter Name, AnzahlBeine und Tragzeit setzt, und mit der Methode ermittletragzeit den Wert von Tragzeit übergibt. Hinweis: Da die Attribute Name und AnzahlBeine in der übergeordneten Klasse TierNeu (Basisklasse) stehen, müssen Sie hier anstelle des Schlüsselwortes this das Schlüsselwort super verwenden. Schreiben Sie das Programm Tierheim6, das diese Klasse mittels SaeugetierNeu("Ruessel", 4, 15.5) aufruft. Geben Sie mit der Methode ermittletragzeit die Tragzeit aus. Lösung 10: Vererbung: Tierheim6 public class SaeugetierNeu extends TierNeu // Attribute public double Tragzeit; // Konstruktor mit 1 Übergabeparameter: double public SaeugetierNeu (double Tragzeit) this.tragzeit = Tragzeit; // Konstruktor mit 3 Übergabeparameter: String, int, double public SaeugetierNeu (String Name, int AnzahlBeine, double Tragzeit) super.name = Name; super.anzahlbeine = AnzahlBeine; this.tragzeit = Tragzeit; // Methode public double ermittletragzeit() return Tragzeit; Prof. Dr. Rolf Dornberger OOP: 8 Klassen, Objekte, Methoden, Vererbung, Konstruktoren Prof. Dr. Rolf Dornberger OOP: 8 Klassen, Objekte, Methoden, Vererbung, Konstruktoren Lösung 10: Vererbung: Tierheim6 Aufgabe 11: Methoden mit Rückgabewert: Immobilienverwaltung21 public class Tierheim6 public static void main(string[] args) SaeugetierNeu einelefant = new SaeugetierNeu("Ruessel", 4, 15.5); einelefant.beschreibetier(); System.out.println("Tragzeit: "+einelefant.ermittletragzeit()); Ändern Sie das Programm Immobilienverwaltung2 zu Immobilienverwaltung21, indem Sie die bestehende Methode anfragenverkaufspreis() der Klasse Einfamilienhaus mit einem Rückgabewert vom Typ double erweitern. Benennen Sie dazu Einfamilienhaus in Einfamilienhaus1 um. Dieser Rückgabewert gibt den Verkaufspreis zurück. Lassen sie diesen Verkaufspreis innerhalb von Immobilienverwaltung21 auf dem Bildschirm ausgeben. Prof. Dr. Rolf Dornberger OOP: 8 Klassen, Objekte, Methoden, Vererbung, Konstruktoren Prof. Dr. Rolf Dornberger OOP: 8 Klassen, Objekte, Methoden, Vererbung, Konstruktoren

8 Lösung 11: Methoden mit Rückgabewert: Immobilienverwaltung21 In der Klasse Einfamilienhaus1 wird dazu die Methode anfragenverkaufspreis() wie folgt mit einem double-rückgabewert und dem Aufruf return Verkaufspreis ergänzt. // Definition der Klasse Einfamilienhaus1 public class Einfamilienhaus1 // Definition der Attribute public String Besitzer; public String Adresse; public int Baujahr; public double Verkaufspreis; public String Haustyp; public double Wohnflaeche; public double AnzahlZimmer; public double Gartenflaeche; public boolean HatGarage; // Definition der Methode anfragenverkaufspreis für die Klasse // Einfamilienhaus1 mit Rückgabewert public double anfragenverkaufspreis() return Verkaufspreis; Prof. Dr. Rolf Dornberger OOP: 8 Klassen, Objekte, Methoden, Vererbung, Konstruktoren Lösung 11: Methoden mit Rückgabewert: Immobilienverwaltung21 Im Programm Immobilienverwaltung21 liefert dann die Methode eineinfamilienhaus.anfragenverkaufspreis() den double-rückgabewert Verkaufspreis, der nun ausgegeben werden kann. public class Immobilienverwaltung21 public static void main(string args[]) System.out.println("Programm Immobilienverwaltung v2.1"); // Deklarieren des Objektes eineinfamilienhaus Einfamilienhaus1 eineinfamilienhaus; // Reservieren des Speicherplatzes für dieses Objekt eineinfamilienhaus = new Einfamilienhaus1(); // Füllen des Objektes mit Werten eineinfamilienhaus.besitzer = "Meier"; eineinfamilienhaus.adresse = "Augsburg"; eineinfamilienhaus.baujahr = 1920; eineinfamilienhaus.verkaufspreis = ; eineinfamilienhaus.haustyp = "Bauernhaus"; eineinfamilienhaus.wohnflaeche = 250; eineinfamilienhaus.anzahlzimmer = 8; eineinfamilienhaus.gartenflaeche = 10000; eineinfamilienhaus.hatgarage = true; // Ausgabe des Objektes System.out.println("Haustyp : " + eineinfamilienhaus.haustyp); System.out.println("Besitzer : " + eineinfamilienhaus.besitzer); // Aufruf der Methode anfragenverkaufspreis() double Verkaufspreis = eineinfamilienhaus.anfragenverkaufspreis(); System.out.println("\nDer Verkaufspreis des Hauses ist "+Verkaufspreis+" Euro"); Prof. Dr. Rolf Dornberger OOP: 8 Klassen, Objekte, Methoden, Vererbung, Konstruktoren Lösung 12: Methoden mit Rückgabewert: Immobilienverwaltung22 Aufgabe 12: Methoden mit Rückgabewert: Immobilienverwaltung22 Ergänzen Sie nun das Programm Immobilienverwaltung21 zu Immobilienverwaltung22 wie folgt: Erstellen Sie aus der Klasse Einfamilienhaus1 die Klasse Einfamilienhaus2. Fügen Sie die weitere Methode int berechnealter() in die Klasse Einfamilienhaus2 ein, die das Alter des Hauses aus dem Attribut Baujahr und dem aktuellen Jahr AktuellesJahr (aus der Systemzeit ihres Computers) berechnet. Verwenden Sie dazu folgende Programmzeilen: GregorianCalendar cal = new GregorianCalendar(); int AktuellesJahr = cal.get(calendar.year); sowie am Anfang der Klasse den Aufruf: import java.util.*; Rufen Sie in Immobilienverwaltung22 die Methode berechnealter() auf und lassen Sie das Alter des Hauses ausgeben: In die Klasse Einfamilienhaus2 wird dazu die Methode berechnealter() wie folgt mit einem int-rückgabewert, dem Aufruf return Alter und dem Aufruf import java.util.* eingefügt. // Entsprechende Java-Bibliotheken importieren import java.util.*; // Definition der Klasse Einfamilienhaus2 public class Einfamilienhaus2 // Definition der Attribute public String Besitzer; public String Adresse; public int Baujahr; public double Verkaufspreis; public String Haustyp; public double Wohnflaeche; public double AnzahlZimmer; public double Gartenflaeche; public boolean HatGarage; // Definition der Methode anfragenverkaufspreis für die Klasse Einfamilienhaus mit Rückgabewert public double anfragenverkaufspreis() return Verkaufspreis; // Definition der Methode berechnealter public int berechnealter() GregorianCalendar cal = new GregorianCalendar(); int AktuellesJahr = cal.get(calendar.year); return (AktuellesJahr - Baujahr); Prof. Dr. Rolf Dornberger OOP: 8 Klassen, Objekte, Methoden, Vererbung, Konstruktoren Prof. Dr. Rolf Dornberger OOP: 8 Klassen, Objekte, Methoden, Vererbung, Konstruktoren

9 Lösung 12: Methoden mit Rückgabewert: Immobilienverwaltung22 Im Programm Immobilienverwaltung22 liefert dann die Methode eineinfamilienhaus.berechnealter() den int-rückgabewert Alter, der nun ausgegeben werden kann. public class Immobilienverwaltung22 public static void main(string args[]) System.out.println("Programm Immobilienverwaltung v2.2"); // Deklarieren des Objektes eineinfamilienhaus Einfamilienhaus2 eineinfamilienhaus; Aufgabe 13: Kalender und Java-Dokumentation: Month1 Schreiben Sie ein Programm Month1, das aus der Systemzeit des Computers den aktuellen Monat (als Zahl) ermittelt und ausgibt. Verwenden Sie dazu die Klasse GregorianCalendar, die von der Klasse Calendar abgeleitet ist und von ihr die Methode get() übernommen hat. Schauen Sie zur Hilfe in der Java-Dokumentation nach: // Reservieren des Speicherplatzes für dieses Objekt eineinfamilienhaus = new Einfamilienhaus2(); // Füllen des Objektes mit Werten eineinfamilienhaus.besitzer = "Meier"; eineinfamilienhaus.adresse = "Augsburg"; eineinfamilienhaus.baujahr = 1920; eineinfamilienhaus.verkaufspreis = ; eineinfamilienhaus.haustyp = "Bauernhaus"; eineinfamilienhaus.wohnflaeche = 250; eineinfamilienhaus.anzahlzimmer = 8; eineinfamilienhaus.gartenflaeche = 10000; eineinfamilienhaus.hatgarage = true; // Ausgabe des Objektes System.out.println("Haustyp System.out.println("Besitzer : " + eineinfamilienhaus.haustyp); : " + eineinfamilienhaus.besitzer); // Aufruf der Methode anfragenverkaufspreis() double Verkaufspreis = eineinfamilienhaus.anfragenverkaufspreis(); System.out.println("\nDer Verkaufspreis des Hauses ist "+Verkaufspreis+" Euro"); // Aufruf der Methode berechnealter() int Alter = eineinfamilienhaus.berechnealter(); System.out.println("\nDas Alter des Hauses ist "+Alter+" Jahre"); Prof. Dr. Rolf Dornberger OOP: 8 Klassen, Objekte, Methoden, Vererbung, Konstruktoren Prof. Dr. Rolf Dornberger OOP: 8 Klassen, Objekte, Methoden, Vererbung, Konstruktoren Lösung 13: Kalender und Java-Dokumentation: Month1 import java.util.*; public class Month1 public static void main (String[] args) GregorianCalendar cal = new GregorianCalendar(); int AktuellerMonat = cal.get(calendar.month); System.out.println(AktuellerMonat); Zum Beispiel ergibt sich für den Monat Mai: Denn die Zählung der Monate beginnt mit Januar bei 0, Februar 2 usw. bis Dezember 11. Prof. Dr. Rolf Dornberger OOP: 8 Klassen, Objekte, Methoden, Vererbung, Konstruktoren

Silke Trißl Wissensmanagement in der Bioinformatik. Objektorientierte Programmierung (OOP) Vorstellung wie in der realen Welt: Farbe Hubraum Tank...

Silke Trißl Wissensmanagement in der Bioinformatik. Objektorientierte Programmierung (OOP) Vorstellung wie in der realen Welt: Farbe Hubraum Tank... Methoden und Klassen Silke Trißl Wissensmanagement in der Bioinformatik Objektorientierte Programmierung (OOP) Vorstellung wie in der realen Welt: hat Farbe Hubraum Tank kann man Gas geben Bremsen Hoch

Mehr

Vererbung P rogram m ieren 2 F örster/r iedham m er K apitel 11: V ererbung 1

Vererbung P rogram m ieren 2 F örster/r iedham m er K apitel 11: V ererbung 1 Vererbung 1 11.1 Motivation und Begriffsdefinitionen 11.2 Vorgehensweise und Implementierung 11.3 Arten von Vererbung 11.4 Konstruktoren 11.5 Abstrakte Klasse 11.6 Verschattung 11.7 Wurzelklasse Object

Mehr

Methoden und Klassen. Silke Trißl Wissensmanagement in der Bioinformatik

Methoden und Klassen. Silke Trißl Wissensmanagement in der Bioinformatik Methoden und Klassen Silke Trißl Wissensmanagement in der Bioinformatik Wiederholung Jede Applikation braucht eine Klasse mit einer main-methode Eintrittspunkt in das Programm Die main-methode wird public

Mehr

Algorithmen und Datenstrukturen 07

Algorithmen und Datenstrukturen 07 (7. Juni 2012) 1 Besprechung Blatt 6 Fragen 2 Referenzen Referenzsemantik 3 Vererbung Allgemein abstract Interfaces Vererbung in UML 4 Vorbereitung Blatt 7 Anmerkungen Fragen Fragen zu Blatt 6? Referenzsemantik

Mehr

Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik. Jede Applikation braucht eine Klasse mit einer main-methode

Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik. Jede Applikation braucht eine Klasse mit einer main-methode Methoden und Klassen Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik Wiederholung Jede Applikation braucht eine Klasse mit einer main-methode Eintrittspunkt in das Programm Die main-methode

Mehr

Probeklausur Java Einführung in die Informatik. Wintersemester 2016/2017

Probeklausur Java Einführung in die Informatik. Wintersemester 2016/2017 Fakultät IV NI & CV Java Einführung in die Informatik Wintersemester 2016/2017 Hinweis: Diese ist eine kleine Aufgabensammlung, die etwa dem Schwierigkeitsgrad der schriftlichen Prüfung des Moduls Einführung

Mehr

Umsetzung einer Klassenkarte in einer Programmiersprache

Umsetzung einer Klassenkarte in einer Programmiersprache Klassen in Java Umsetzung einer Klassenkarte in einer Programmiersprache Objektorientierte Programme bestehen (nur) aus Klassendefinitionen In Klassendefinitionen wird die Struktur der Objekte festgelegt,

Mehr

Probeklausur Informatik 2 Sommersemester 2013

Probeklausur Informatik 2 Sommersemester 2013 Probeklausur Informatik 2 Sommersemester 2013 1 Probeklausur Informatik 2 Sommersemester 2013 Name: Matrikelnummer: Hilfsmittel: Es sind alle schriftlichen Unterlagen, aber keine elektronischen Hilfsmittel

Mehr

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Kapitel 1 Der vierte Tag 1.1 Vererbung Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Sprachen. Unter Vererbung versteht man die Möglichkeit, Eigenschaften vorhandener

Mehr

Implementieren von Klassen

Implementieren von Klassen Implementieren von Klassen Felder, Methoden, Konstanten Dr. Beatrice Amrhein Überblick Felder/Mitglieder (Field, Member, Member-Variable) o Modifizierer Konstanten Methoden o Modifizierer 2 Felder und

Mehr

Objektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types)

Objektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types) Stefan Brass: OOP (Java), 22. Aufzählungstypen 1/20 Objektorientierte Programmierung Kapitel 22: Aufzählungstypen (Enumeration Types) Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester

Mehr

Fragen zur OOP in Java

Fragen zur OOP in Java - 1 - Inhalt Was bedeutet OOP?... 2 Was versteht man unter einer Klasse?... 2 Wie nennt man die Mitglieder einer Klasse?... 2 Wie erzeugt man Objekte?... 2 Wie greife ich auf Member einer Klasse zu?...

Mehr

Die Klasse java.lang.object. Thorsten Treffer

Die Klasse java.lang.object. Thorsten Treffer Die Klasse java.lang.object Thorsten Treffer 6. Dezember 2003 1 java.lang.object Die Klassenhierarchie von Java kann als Baum aufgezeichnet werden, dessen Wurzel die Klasse Object ist. Mit anderen Worten:

Mehr

Probeklausur Java Einführung in die Informatik. Wintersemester 2017/2018

Probeklausur Java Einführung in die Informatik. Wintersemester 2017/2018 Fakultät IV NI & CV Java Einführung in die Informatik Wintersemester 2017/2018 Hinweis: Diese ist eine kleine Aufgabensammlung, die etwa dem Schwierigkeitsgrad der schriftlichen Prüfung des Moduls Einführung

Mehr

Programmierung Nachklausurtutorium

Programmierung Nachklausurtutorium Programmierung Nachklausurtutorium Laryssa Horn, Tim Engelhardt 20 März 2018 Klassen Wofür wir Klassen brauchen: Definieren ein Bauplan eines Objektes Bauplan enthält Attribute und Methoden Klasse Beispiel

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 10: Mehr zur Vererbung und abstrakte Klassen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Mehr zur Vererbung Methoden vererben und überschreiben

Mehr

Fakultät IV Elektrotechnik/Informatik

Fakultät IV Elektrotechnik/Informatik Fakultät IV Elektrotechnik/Informatik Probeklausur Einführung in die Informatik I Hinweis: Diese Probeklausur ist eine kleine Aufgabensammlung, die etwa dem Schwierigkeitsgrad der Teilleistung TL 2 (Programmiertest)

Mehr

Programmierung für Mathematik HS11

Programmierung für Mathematik HS11 software evolution & architecture lab Programmierung für Mathematik HS11 Übung 8 1 Aufgabe: Codeverständnis (Repetition) 1.1 Lernziele 1. Code verstehen können. 2. Fehler im Code finden und korrigieren

Mehr

Teil 2: Weitere Aspekte der Objektorientierung

Teil 2: Weitere Aspekte der Objektorientierung Teil 2: Weitere Aspekte der Objektorientierung Klassenvariablen So wie es Instanzvariablen gibt, die zu einer gewissen Instanz (Objekt) gehören und deren Attribute speichern, so gibt es aus Klassenvariablen:

Mehr

Test zu Grundlagen der Programmierung Leitung: Susanne Guth/Michael Hahsler. 28. Februar 2003

Test zu Grundlagen der Programmierung Leitung: Susanne Guth/Michael Hahsler. 28. Februar 2003 Test zu Grundlagen der Programmierung Leitung: Susanne Guth/Michael Hahsler 8. Februar 00 Name Martrikelnummer Unterschrift Bitte kreuzen Sie das Studium an, für das Sie diese Prüfung ablegen: Bakkalaureat

Mehr

Beispielprüfung CuP WS 2015/2016

Beispielprüfung CuP WS 2015/2016 Beispielprüfung CuP WS 2015/2016 Univ.-Prof. Dr. Peter Auer 23. Dezember 2015 Informationen zur Prüfung Die Prüfung wird als Multiple-Choice-Test mit 10 Fragen am Computer abgehalten. (Bei manchen Fragen

Mehr

Musterlösung Stand: 5. Februar 2009

Musterlösung Stand: 5. Februar 2009 Fakultät IV Elektrotechnik/Informatik Probeklausur Einführung in die Informatik I Hinweis: Diese Probeklausur ist eine kleine Aufgabensammlung, die etwa dem Schwierigkeitsgrad der Teilleistung TL 2 (Programmiertest)

Mehr

Einführung in die Programmierung für NF MI. Übung 04

Einführung in die Programmierung für NF MI. Übung 04 Einführung in die Programmierung für NF MI Übung 04 Inhalt Arrays Einführung in Objekte Einführung in die Programmierung für NF Übung 04 2 Arrays Arrays repräsentieren Reihungen von Objekten, z.b. Variablen

Mehr

Objektorientierte Programmierung Studiengang Medieninformatik

Objektorientierte Programmierung Studiengang Medieninformatik Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 5 12.04.2017 Was bisher geschah... Objektorientierte Programmierung Klassen und Objekte, Attribute

Mehr

Test zu Grundlagen der Programmierung Leitung: Susanne Guth/Michael Hahsler. 31. Jänner 2003

Test zu Grundlagen der Programmierung Leitung: Susanne Guth/Michael Hahsler. 31. Jänner 2003 Test zu Grundlagen der Programmierung Leitung: Susanne Guth/Michael Hahsler 1. Jänner 00 Name Martrikelnummer Unterschrift Bitte kreuzen Sie das Studium an, für das Sie diese Prüfung ablegen: O Bakkalaureat

Mehr

Vorbereitende Aufgaben

Vorbereitende Aufgaben Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2018/19 Fakultät für Informatik Lehrstuhl 1 Lars Hildebrand Übungsblatt 9 Besprechung: 07. 11.01.2019 (KW 2) Vorbereitende

Mehr

Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund

Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund EINI LW Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 12/13 Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@tu-dortmund.de

Mehr

Organisatorisches. Folien (u.a.) gibt's auf der Lva-Homepage zum Download

Organisatorisches. Folien (u.a.) gibt's auf der Lva-Homepage zum Download Organisatorisches Folien (u.a.) gibt's auf der Lva-Homepage zum Download Diesen Mi erstes Tutorium (15-17) Ab nächster Woche montags 10-12 (jeweils im Computerraum) 17.10.2017 IT I - VO 3 1 Organisatorisches

Mehr

Übung 09: Vererbung und Dynamische Bindung

Übung 09: Vererbung und Dynamische Bindung Übung 09: Vererbung und Dynamische Bindung Abgabetermin: TT.MM.JJJJ Name: Matrikelnummer: Gruppe: G1 (Prähofer) G2 (Prähofer) G3 (Wolfinger) G4 (Wolfinger) Aufgabe Punkte gelöst abzugeben schriftlich abzugeben

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Übungsblatt 3 Lösungsvorschlag Objektorientierte Programmierung 08. 05. 2006 Lösung 8 (Java und UML-Klassendiagramm

Mehr

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen Kapitel 9 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Attribute von Klassen, Methoden und Variablen Interfaces WS 07/08 1/ 18 2/ 18

Mehr

7. Arrays. Beim Deklarieren und Initialisieren der Liste bräuchte man oft zueinander sehr ähnlichen Code:

7. Arrays. Beim Deklarieren und Initialisieren der Liste bräuchte man oft zueinander sehr ähnlichen Code: 7. Arrays Gelegentlich braucht man für ein Programm mehrere Attribute desselben Datentyps oder derselben Klasse. Beispiel: In der Highscore-Liste eines Spiels werden von den 10 besten Spielern die Namen

Mehr

Propädeutikum Programmierung in der Bioinformatik

Propädeutikum Programmierung in der Bioinformatik Propädeutikum Programmierung in der Bioinformatik Java Klassen und Objekte Thomas Mauermeier 27.11.2018 Ludwig-Maximilians-Universität München Rückblick Imperative Programmierung Variablen Fallunterscheidungen

Mehr

Objektorientierte Programmierung OOP Programmieren mit Java

Objektorientierte Programmierung OOP Programmieren mit Java Übungen: 6 Schleifen Objektorientierte Programmierung OOP Programmieren mit Java 1. do-schleife 2. while-schleife 3. a) c) Verschiedene for-schleifen 6 Schleifen Übungen 4. for-schleife: halber Tannenbaum

Mehr

Abend 4 Übung : Erweitern von Klassen durch Vererbung

Abend 4 Übung : Erweitern von Klassen durch Vererbung Abend 4 Übung : Erweitern von Klassen durch Vererbung Ziel, Inhalt Wir erweitern die Klassen, die wir zum Zeichnen mit TsuZeichnen verwenden. Dabei wenden wir die Vererbung an um die Klassen zu spezialisieren

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 11: Vererbung Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil Einführung in die Vererbung Motivation Das Schlüsselwort extends Einführendes

Mehr

2. Vererbung und Kapselung

2. Vererbung und Kapselung 2. Vererbung und Kapselung Die Objekte der Klasse BALL werden im Gegensatz zu den Objekten von KREIS noch nicht graphisch dargestellt. Um die BALL-Objekte auch graphisch darzustellen zu können, muss BALL

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 22 Einstieg in die Informatik mit Java Grundlagen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 22 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White

Mehr

Objektorientierte Programmierung Studiengang Medieninformatik

Objektorientierte Programmierung Studiengang Medieninformatik Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 1 15.03.2017 Objektorientierte Programmierung (Studiengang Medieninformatik) Form: Prüfung:

Mehr

Anregungen zu Übung 2

Anregungen zu Übung 2 Anregungen zu Übung 2 Allgemeine Informatik II - SS 2007 Was sind Arrays und wie kann man sie verwenden? Ein Array ist ein spezieller Datentyp, der mehrere Werte zu einer Einheit zusammenfasst. Er ist

Mehr

Erste Java-Programme (Scopes und Rekursion)

Erste Java-Programme (Scopes und Rekursion) Lehrstuhl Bioinformatik Konstantin Pelz Erste Java-Programme (Scopes und Rekursion) Tutorium Bioinformatik (WS 18/19) Konstantin: Konstantin.pelz@campus.lmu.de Homepage: https://bioinformatik-muenchen.com/studium/propaedeutikumprogrammierung-in-der-bioinformatik/

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java Einführung in die objektorientierte Programmierung Teil 2 2 Übersicht der heutigen Inhalte Vererbung Abstrakte Klassen Erweitern von Klassen Überladen von Methoden Überschreiben von

Mehr

Klausur zur Lehrveranstaltung. Technische Informatik für Ingenieure WS 2009/10

Klausur zur Lehrveranstaltung. Technische Informatik für Ingenieure WS 2009/10 Klausur zur Lehrveranstaltung Technische Informatik für Ingenieure WS 2009/10 22. Februar 2010 Aufgabe 1 2 3 4 5 6 7 Summe mögliche Punkte 15 15 20 15 20 20 15 120 erreichte Punkte Note: Hinweise: Diese

Mehr

Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden

Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden Kapitel 8 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Methoden Überladen von Methoden Der this-zeiger Konstruktoren Vererbung WS 07/08

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form

Mehr

hue13 January 30, 2017

hue13 January 30, 2017 hue13 January 30, 2017 1 Abgabehinweise Beachten Sie unbedingt diese Hinweise, sonst erhalten Sie keine Punkte aus dieser Abgabe! Für Details siehe z.b. Folien der nullten Zentralübung 1.1 Namen und Matrikelnummern

Mehr

Vererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 14.1.

Vererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 14.1. Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 14.1.08 G. Bohlender (IANM UNI Karlsruhe) Vererbung 14.1.08 1 / 11 Übersicht 1

Mehr

Ausgabe:

Ausgabe: Aufgabe 2.10: Schreiben Sie ein Programm, das zunächst die Quadratzahlen zu den Zahlen 1-10 mit Hilfe einer While- Schleife und danach die Quadratzahlen zu den Zahlen 3, 6, 9,.., 30 mit Hilfe einer For-Schleife

Mehr

Objektorientierung (OO)

Objektorientierung (OO) Objektorientierung (OO) Objekte haben Zustände (oder Eigenschaften, Attribute) und Verhalten Zustände: Objektvariablen (in Java auch fields) Verhalten (oder Aktionen): Methoden (methods, Funktionen) members

Mehr

Klausur Software-Entwicklung März 01

Klausur Software-Entwicklung März 01 Aufgabe 1: minimaler Punktabstand ( 2+5 Punkte ) Matrikelnr : In einem Array punkte sind Koordinaten von Punkten gespeichert. Ergänzen Sie in der Klasse Punkt eine Klassen-Methode (=static Funktion) punktabstand,

Mehr

Was du ererbt von Deinen Vätern hast, erwirb es, um es zu besitzen. J. W. v. Goethe.

Was du ererbt von Deinen Vätern hast, erwirb es, um es zu besitzen. J. W. v. Goethe. Was du ererbt von Deinen Vätern hast, erwirb es, um es zu besitzen. J. W. v. Goethe http://www.zitate-online.de/autor/goethe-johann-wolfgang-von/ http://www.weimar-lese.de/files_weimar_lese/johann_wolfgang_von_goethe_bearbeitet_von_andreas_werner.jpg

Mehr

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Referenzen. Referenzen

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Referenzen. Referenzen 5 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Referenzen Beispiel an der einfachen Klasse Walze: public class Walze { int id; public Walze(int id) { this.id = id; Verwenden

Mehr

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2016/17. Vorbereitende Aufgaben

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2016/17. Vorbereitende Aufgaben Fakultät für Informatik Lehrstuhl 14 Lars Hildebrand, Alexander Lochmann, Iman Kamehkhosh, Marcel Preuß, Dominic Siedhoff Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester

Mehr

Objektorientiertes Programmieren (Java)

Objektorientiertes Programmieren (Java) Grundlagen Objektorientiertes Programmieren (Java) Java folgt gewissen Rechtschreibregeln die Syntax. Diese besagt, dass hinter jeden Befehl ein Semikolon( ; ) stehen muss, damit der Computer weiß, dass

Mehr

Objekte. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 5. 1 Modulübersicht 3

Objekte. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 5. 1 Modulübersicht 3 Programmieren mit Java Modul 5 Objekte Theorieteil Inhaltsverzeichnis 1 Modulübersicht 3 2 Klassen und Objekte 3 2.1 Klassen.................................... 4 2.2 Objektvariablen und Methoden.......................

Mehr

Einführung in die Programmierung 1

Einführung in die Programmierung 1 Einführung in die Programmierung 1 Einführung (S.2) Einrichten von Eclipse (S.4) Mein Erstes Programm (S.5) Hallo Welt!? Programm Der Mensch (S.11) Klassen (S.12) Einführung Wie Funktioniert Code? Geschriebener

Mehr

Aufgabe11. Methode test1. import java.util.hashmap; import java.util.arraylist; public class Aufgabe11 {

Aufgabe11. Methode test1. import java.util.hashmap; import java.util.arraylist; public class Aufgabe11 { Hochschule Harz Programmierung1 Aufgabe 10: FB Automatisierung und Informatik Dipl.-Inf. Dipl.-Ing. (FH) M. Wilhelm Programmierung 1 für MI / WI Thema: Hashing und Generische Klassen Versuchsziele Kenntnisse

Mehr

Konstruktor. public Rational(int i) { Zaehler = i; Nenner = 1; }

Konstruktor. public Rational(int i) { Zaehler = i; Nenner = 1; } Konstruktor spezielle Methode zum Initialisieren bei Erzeugen eines Objekts mit new trägt Namen der Klasse hat keinen Rückgabetyp keiner angegeben: Compiler erzeugt Standard-Konstruktor (analog: Attribute

Mehr

Probeklausur Java Einführung in die Informatik. Wintersemester 2014/2015

Probeklausur Java Einführung in die Informatik. Wintersemester 2014/2015 Fakultät IV NI & CV Probeklausur Java Einführung in die Informatik Wintersemester 2014/2015 Hinweis: Diese Probeklausur ist eine kleine Aufgabensammlung, die etwa dem Schwierigkeitsgrad der schriftlichen

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 02: Klassen & Objekte Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Klassen Grundstruktur einer Java-Klasse Eigenschaften (Attribute) Variablen

Mehr

Schlussendlich geben wir die Listen aus. Es kommt zu folgender Ausgabe:

Schlussendlich geben wir die Listen aus. Es kommt zu folgender Ausgabe: Musterlösung Übung 7 Aufgabe 1 Sehen wir uns zu allererst das gegebene Forth Programm an: 0 3 new - list constant list1 list1 5 new - list constant list2 list1 6 new - list constant list3 list2 2 new -

Mehr

Repetitorium Informatik (Java)

Repetitorium Informatik (Java) Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Semestralklausur Einführung in die Programmierung Semestralklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList

Mehr

EINFÜHRUNG IN DIE PROGRAMMIERUNG

EINFÜHRUNG IN DIE PROGRAMMIERUNG EINFÜHRUNG IN DIE PROGRAMMIERUNG OBJEKTORIENTIERTES PROGRAMMIEREN Tobias Witt 25.03.2014 09:00-10:30 Täglich Übungen zur Vertiefung Laptop hier nicht erforderlich Linux, OS X Freitag: http://hhu-fscs.de/linux-install-party/

Mehr

Universität zu Lübeck Institut für Telematik. Prof. Dr. Stefan Fischer

Universität zu Lübeck Institut für Telematik. Prof. Dr. Stefan Fischer Universität zu Lübeck Institut für Telematik Prof. Dr. Stefan Fischer Probeklausur im Fach Programmieren Hinweise zur Bearbeitung: Es sind keinerlei Hilfsmittel zugelassen. Diese Klausur umfasst 18 Seiten.

Mehr

Vererbung. Definition Felder Konstruktor Methoden Beispiel. Dr. Beatrice Amrhein

Vererbung. Definition Felder Konstruktor Methoden Beispiel. Dr. Beatrice Amrhein Vererbung Definition Felder Konstruktor Methoden Beispiel Dr. Beatrice Amrhein Definition 2 Definition: Vererbung Die Vererbung dient dazu, mit Hilfe von existierenden Klassen neue Klassen zu implementieren.

Mehr

1 Abstrakte Klassen, finale Klassen und Interfaces

1 Abstrakte Klassen, finale Klassen und Interfaces 1 Abstrakte Klassen, finale Klassen und Interfaces Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält,

Mehr

Praktikum zu Einführung in die Informatik für LogWings und WiMas Wintersemester 2013/14

Praktikum zu Einführung in die Informatik für LogWings und WiMas Wintersemester 2013/14 Praktikum zu Einführung in die Informatik für LogWings und WiMas Wintersemester 2013/14 Fakultät für Informatik Lehrstuhl 1 Dr. Lars Hildebrand Iman Kamehkhosh, Marcel Preuß, Henning Timm Übungsblatt 11

Mehr

Probeklausur: Programmierung WS04/05

Probeklausur: Programmierung WS04/05 Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,

Mehr

Java Übung. Übung Mai Universität Duisburg-Essen Kommedia, Übung EinPro SS06, Einführung in Java - Übung. Werner Gaulke.

Java Übung. Übung Mai Universität Duisburg-Essen Kommedia, Übung EinPro SS06, Einführung in Java - Übung. Werner Gaulke. Java Übung Übung 5 Universität Duisburg-Essen Kommedia, Übung EinPro SS06, 9. Mai 2006 (UniDUE) 9. Mai 2006 1 / 20 Beispiel Anforderungen: Klasse Mensch mit Attributen: Name, Alter, Laune, Geschlecht.

Mehr

Institut für Programmierung und Reaktive Systeme. Java 7. Markus Reschke

Institut für Programmierung und Reaktive Systeme. Java 7. Markus Reschke Institut für Programmierung und Reaktive Systeme Java 7 Markus Reschke 14.10.2014 Vererbung in Java Vererbung ermöglicht es, Klassen zu spezialisieren Wiederverwendung vorhandener Klassen Kindsklasse erhält

Mehr

Probeklausur Java Einführung in die Informatik. Wintersemester 2014/2015. Musterlösung

Probeklausur Java Einführung in die Informatik. Wintersemester 2014/2015. Musterlösung Fakultät IV NI & CV Probeklausur Java Einführung in die Informatik Wintersemester 2014/2015 Hinweis: Diese Probeklausur ist eine kleine Aufgabensammlung, die etwa dem Schwierigkeitsgrad der schriftlichen

Mehr

CoMa 04. Java II. Paul Boeck. 7. Mai Humboldt Universität zu Berlin Institut für Mathematik. Paul Boeck CoMa 04 7.

CoMa 04. Java II. Paul Boeck. 7. Mai Humboldt Universität zu Berlin Institut für Mathematik. Paul Boeck CoMa 04 7. CoMa 04 Java II Paul Boeck Humboldt Universität zu Berlin Institut für Mathematik 7. Mai 2013 Paul Boeck CoMa 04 7. Mai 2013 1 / 13 Verzweigungen Wenn-Dann Beziehungen if (BEDINGUNG) { else if (BEDINGUNG2)

Mehr

12 Abstrakte Klassen, finale Klassen und Interfaces

12 Abstrakte Klassen, finale Klassen und Interfaces 12 Abstrakte Klassen, finale Klassen und Interfaces Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält,

Mehr

Informatik 10 Objektorientiertes Modellieren und Programmieren mit Java

Informatik 10 Objektorientiertes Modellieren und Programmieren mit Java Informatik 10 Objektorientiertes Modellieren und Programmieren mit Java 1. Klassen und Objekte Zunächst wollen wir mit Hilfe eines Miniprogramms die Entwicklungsumgebung BlueJkennen lernen. Die Installation

Mehr

EINI LW. Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 15/16

EINI LW. Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 15/16 EINI LW Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 15/16 Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@tu-dortmund.de

Mehr

Probeklausur zur Vorlesung

Probeklausur zur Vorlesung Dr. Jochen Hoenicke Alexander Nutz Probeklausur zur Vorlesung Einführung in die Informatik Sommersemester 2014 Die Klausur besteht aus diesem Deckblatt und elf Blättern mit den Aufgaben, sowie einem Blatt

Mehr

Institut für Programmierung und Reaktive Systeme 17. Juli Programmieren II. Übungsklausur

Institut für Programmierung und Reaktive Systeme 17. Juli Programmieren II. Übungsklausur Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 17. Juli 2015 Hinweise: Klausurtermine: Programmieren II Übungsklausur Programmieren I: 7. September

Mehr

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2018/19. Vorbereitende Aufgaben

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2018/19. Vorbereitende Aufgaben Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2018/19 Fakultät für Informatik Lehrstuhl 14 Lars Hildebrand Übungsblatt 3 Besprechung: 12. 16.11.2018 (KW 46) Vorbereitende

Mehr

Tag 8 Repetitorium Informatik (Java)

Tag 8 Repetitorium Informatik (Java) Tag 8 Repetitorium Informatik (Java) Dozent: Michael Baer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Informatik-Repetitorium

Mehr

2 Eine einfache Programmiersprache

2 Eine einfache Programmiersprache 2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir

Mehr

9. Vererbung und Polymorphie. Informatik Vererbung und Polymorphie 1

9. Vererbung und Polymorphie. Informatik Vererbung und Polymorphie 1 9. Vererbung und Polymorphie 1 Wiederholung Vererbung bedeutet, dass eine Klasse Attribute und Methoden an eine andere Klasse weitergeben kann. Im Klassendiagramm stellt man dies durch einen durchgezogenen

Mehr

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2018/19. Vorbereitende Aufgaben

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2018/19. Vorbereitende Aufgaben Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 018/19 Fakultät für Informatik Lehrstuhl 14 Lars Hildebrand Übungsblatt 11 Besprechung: 1. 5.01.019 (KW 4) Vorbereitende

Mehr

2.13 Vererbung. Rainer Feldmann Universität Paderborn Technische Informatik für Ingenieure (TIFI) WS 09/ Article

2.13 Vererbung. Rainer Feldmann Universität Paderborn Technische Informatik für Ingenieure (TIFI) WS 09/ Article 2.13 Vererbung Klassen modellieren Objekte der realen Welt. Diese sind oft hierarchisch gegliedert. Beispiel: Ein Verlag bietet Bücher und CDs an. Beide Medien sind Artikel des Verlages. Book author: String

Mehr

Einfache Arrays. Dr. Philipp Wendler. Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung

Einfache Arrays. Dr. Philipp Wendler. Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung Dr. Philipp Wendler Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung WS18/19 https://www.sosy-lab.org/teaching/2018-ws-infoeinf/ Arrays: Wiederholung Ein

Mehr

Grundzüge der Programmierung. Wiederverwendung VERERBUNG

Grundzüge der Programmierung. Wiederverwendung VERERBUNG Grundzüge der Programmierung Wiederverwendung VERERBUNG Inhalt dieser Einheit Syntax: Vererbung in Java Superklassen - Subklassen Konstruktorenaufruf in Subklassen super, abstract und final 2 Code-Reuse

Mehr

Aufgabenblatt: OOP - Seite 1. (2.) Geometrie: Erstellen Sie eine Klasse CPyramid, die sich von der Klasse Square ableitet:

Aufgabenblatt: OOP - Seite 1. (2.) Geometrie: Erstellen Sie eine Klasse CPyramid, die sich von der Klasse Square ableitet: Aufgabenblatt: OOP - Seite 1 Aufgabenblatt: OOP II (1.) Gegeben ist nebenstehende die Klasse CPoint! (a.) Schreiben Sie eine Subklasse CPoint3 mit nebenstehenden Eigenschaften und Methoden und Testen Sie

Mehr

Einführung in die Programmierung WS 2009/10. Übungsblatt 7: Imperative Programmierung, Parameterübergabe

Einführung in die Programmierung WS 2009/10. Übungsblatt 7: Imperative Programmierung, Parameterübergabe Ludwig-Maximilians-Universität München München, 04.12.2009 Institut für Informatik Prof. Dr. Christian Böhm Annahita Oswald, Bianca Wackersreuther Einführung in die Programmierung WS 2009/10 Übungsblatt

Mehr

Programmierung für Mathematik (HS13)

Programmierung für Mathematik (HS13) software evolution & architecture lab Programmierung für Mathematik (HS13) Übung 11 1 Aufgabe: Codeverständnis 1.1 Aufgabenstellung Notieren Sie, was der folgende Code ausgeben würde, wenn er so in einer

Mehr

Programmieren in Java

Programmieren in Java Einführung in die Objektorientierung Teil 4 Interfaces, innere Klassen und Polymorphie 2 Vererbung im Klassendiagram (Wiederholung) Vererbung repräsentiert eine ist ein Beziehung zwischen Klassen Ware

Mehr

Musterübung 09: Vererbung und Dynamische Bindung

Musterübung 09: Vererbung und Dynamische Bindung Musterübung 09: Vererbung und Dynamische Bindung Abgabetermin: TT.MM.JJJJ Name: Matrikelnummer: Gruppe: G1 (Prähofer) G2 (Prähofer) G3 (Hofer) G4 (Angerer) Aufgabe Punkte gelöst abzugeben schriftlich abzugeben

Mehr

Java: Vererbung. Teil 3: super() www.informatikzentrale.de

Java: Vererbung. Teil 3: super() www.informatikzentrale.de Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 08: Mehr zu Klassen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme 1. Teil: Wiederholung Heutige Agenda Verwendung der ArrayList 2. Teil: Weitere Aspekte der OO

Mehr

Vererbung in der objektorientieren Programmierung

Vererbung in der objektorientieren Programmierung Vererbung in der objektorientieren Programmierung Stage Stage(title:String,width:Integer:height:Integer) addstageobject(obj:stageobject) getheight():integer getstageobjectbyname(id:string) getwidth():integer

Mehr

3. Bedingte Anweisungen

3. Bedingte Anweisungen 3. Bedingte Anweisungen Fallunterscheidungen der Form WENN...DANN... in der Informatik kennst du aus der 7. Klasse beim Programmieren mit Karol sowie aus der 9. Klasse beim Arbeiten mit Tabellen und Datenbanken.

Mehr