Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1. Die rekursive Datenstruktur Liste 1

Ähnliche Präsentationen


Präsentation zum Thema: "1. Die rekursive Datenstruktur Liste 1"—  Präsentation transkript:

1 1. Die rekursive Datenstruktur Liste 1
1. Die rekursive Datenstruktur Liste Trennung von Struktur und Inhalt Die Warteschlange soll anstelle von Objekten der Klasse Patient Objekte der Klasse Taxi oder einer anderen Klasse verwalten. Dazu sind in der Klasse Warteschlange einige Änderungen nötig. Informatik Die rekursive Datenstruktur Liste Trennung von Struktur und Inhalt

2 Man nennt dies Trennung von Struktur und Inhalt.
Es wäre dehalb besser, die Klasse Warteschlange unabhängig von der Klasse der zu verwaltenden Objekte zu modellieren. Man nennt dies Trennung von Struktur und Inhalt. Informatik Die rekursive Datenstruktur Liste Trennung von Struktur und Inhalt

3 Die Struktur wird mit einer Klasse Knoten umgesetzt.
Die Klasse Knoten verwaltet unabhängig davon den Inhalt. Warteschlange Knoten hat als Anfang > hat als Ende > hat als Nachfolger > 0..1 Patient verwaltet > Informatik Die rekursive Datenstruktur Liste Trennung von Struktur und Inhalt

4 Übung 1 Implementieren einer Warteschlange mit Trennung von Struktur und Inhalt
Ändere die Implemetierung der Warteschlange nach dem Klassendiagramm ab. Teste das Programm und versuche, die Klasse Patient durch die Klasse Taxi zu ersetzen. Welche entscheidenden Nachteile hat die Modellierung immer noch? Informatik Die rekursive Datenstruktur Liste Trennung von Struktur und Inhalt

5 Verbesserung der Trennung von Struktur und Inhalt
Um bequemer andere Datentypen (als in unserem Bsp. Patient) in der Liste zu verwalten, sollen die Knoten nur die Schnittstelle DATENELEMENT verwalten. Dies kann man in Java mit einem Interface umsetzen. Informatik Die rekursive Datenstruktur Liste Trennung von Struktur und Inhalt

6 Wiederholung und Vertiefung: Vererbung in Java
Durch Vererbung kann man eine Hierarchie zwischen verschiedenen Klassen modellieren: Informatik Die rekursive Datenstruktur Liste Trennung von Struktur und Inhalt

7 Wiederholung und Vertiefung: Vererbung in Java
In Java wird die Vererbung durch den Zusatz extends realisiert: public class Schueler extends Person { // Zusaetzliche Attribute int schuleintritt; Person erziehungsberechtigter; // Konstruktoren public Schueler () { Person erziehungsberechtiger = new Person(); } public Schueler (String name, String adresse, int tag, int monat, int jahr, String name_eb) { super(name, adresse, tag, monat, jahr); schuleintritt = 2001; Person erziehungsberechtiger = new Person(); erziehungsberechtigter.name = name_eb; erziehungsberechtigter.adresse = adresse; } // Zusaetzliche Methoden public void aenderung_erziehungsberechtigung (String name_eb) { erziehungsberechtigter.name = name_eb; } } Informatik Die rekursive Datenstruktur Liste Trennung von Struktur und Inhalt

8 Wiederholung und Vertiefung: Vererbung in Java
Beim Implementieren der Superklasse ist oft noch nicht bekannt, wie bestimmte Methoden in den Unterklassen konkret definiert sein sollen. Für diese Situation gibt es das Konzept der abstrakten Klassen:  Abstrakte Klassen dürfen Methoden enthalten, die entweder nicht oder nur unvollständig implementiert sind. Solche Methoden heißen abstrakte Methoden.  Von abstrakten Klassen können keine Objekte erzeugt werden. Informatik Die rekursive Datenstruktur Liste Trennung von Struktur und Inhalt

9 Wiederholung und Vertiefung: Vererbung in Java
public abstract class Figur { // Attribute double rahmendicke; String farbe; // Konstruktoren //...; // Methoden public abstract double berechne_flaeche () ; } public class Kreis extends Figur { // Definition der Kreiszahl als Konstante private final double PI = ; // Zusaetzliche Attribute double radius; // Konstruktoren //...; // Zusaetzliche Methoden void gib_radius () { return radius; } // Vollstaendig implementierte Methoden der abstrakten Superklasse public double berechne_flaeche () { return PI * radius * radius; } } Wiederholung und Vertiefung: Vererbung in Java Informatik Die rekursive Datenstruktur Liste Trennung von Struktur und Inhalt

10 Wiederholung und Vertiefung: Vererbung in Java
Eine Schnittstelle (Interface) bietet eine etwas andere Möglichkeit der Abstraktion: Eine Schnittstelle oder ein Interface  ist eine abstrakte Klasse, die ausschließlich abstrakte Methoden spezifiziert. Sie enthält einen Bauplan für Methoden, die in Klassen, welche die Schnittstelle anbieten sollen, implementiert werden müssen. Zusätzlich ist innerhalb der Klasse die Definition von Konstanten möglich. Eine Schnittstelle besitzt folglich eine Menge von abstrakten Methoden, aber keine Attribute. Eine Klasse kann nun eine Schnittstelle implementieren, d.h. die von der Schnittstellen vordefinierten Methoden implementieren. Informatik Die rekursive Datenstruktur Liste Trennung von Struktur und Inhalt

11 Wiederholung und Vertiefung: Vererbung in Java
Syntax in Java: public interface Datenelement{ public void informationAusgeben(); } public class Patient implements Datenelement{ //... public void informationAusgeben(){ System.out.print(name +" "); Informatik Die rekursive Datenstruktur Liste Trennung von Struktur und Inhalt

12 Übung 2 Teste die Beispiele zum Themea Vererbung, abstrakten Klasse und Interface
Ordner: Loesungen/1_1_Die_rekursive_Datenstruktur_Liste/ 1_2_Trennung_von_Struktur_und_Inhalt/Vererbung_und_Schnittstellen Informatik Die rekursive Datenstruktur Liste Trennung von Struktur und Inhalt

13 Übung 3 Implementieren einer Warteschlange mit verbesserter Trennung von Struktur und Inhalt
Ändere die Implemetierung der Warteschlange nach dem Klassendiagramm ab. Teste das Programm und versuche erneut, die Klasse Patient durch die Klasse Taxi zu ersetzen. Informatik Die rekursive Datenstruktur Liste Trennung von Struktur und Inhalt

14 Übung 4 Implementieren einer Klasse Wort mithilfe einer Liste
Zeichenketten werden in Java durch die Klasse String dargestellt. In dieser Übung soll stattdessen eine Klasse Wort implementiert werden, deren Objekte als einfach verkettete Listen von Objekten der Klasse Zeichen verwaltet werden. Die Klasse Wort soll die folgenden Methoden enthalten: int wortlaengeGeben() Zeichen erstesZeichenGeben() Zeichen zeichenGeben(int position)  void zeichenHintenEinfuegen(Zeichen inhalt) void zeichenVorneEinfuegen(Zeichen inhalt) void zeichenVorneLoeschen() void wortAusgeben() Informatik Die rekursive Datenstruktur Liste Trennung von Struktur und Inhalt

15 Übung 5* Verwenden der Javaklasse ArrayList
Für die Datenstruktur Liste stehen in Java verschiedene Klassen zur Verfügung. Eine dieser Klassen ist ArrayList. Informiere dich über diese Klasse auf der offiziellen Javadokumentation (gib „java api“ in eine Suchmaschine ein) oder in den Handbüchern. Schreibe eine Klasse PatientenListe, in der einObjekt der Klasse ArrayList mit der Referenzklasse Patient verwaltet wird. Implementiere dann einige Methoden (hintenEinfuegen, vorneEinfuegen, endeEntfernen, anfangEntfernen, listeAusgeben,...) mithilfe der Verwendung der Methoden von ArrayList. Informatik Die rekursive Datenstruktur Liste Trennung von Struktur und Inhalt


Herunterladen ppt "1. Die rekursive Datenstruktur Liste 1"

Ähnliche Präsentationen


Google-Anzeigen