Zwei Denkansätze zur Klasse Schlange

Slides:



Advertisements
Ähnliche Präsentationen
DES-Simulator in JAVA, objektorientiert
Advertisements

Klassen - Verkettete Liste -
DVG Einfache Klassen Einfache Klassen. DVG Einfache Klassen 2 Strukturen Beispiel: Personendaten bestehen aus –String name –String vorname.
Konzepte objektorientierter Systeme
Definition von Klassen in Java
Einführung in die Programmierung Ausführbare Klassen
Kapselung , toString , equals , Java API
Objektorientierte Programmierung Definition von Klassen
Ausnahmen HS Merseburg (FH) WS 06/07.
Threads Richard Göbel.
Listen Richard Göbel.
Java: Grundlagen der Objektorientierung
Konstruktoren.
Objekte werden als Adressen (Referenzen) übergeben. Dies führt manchmal zu unerwarteten Ergebnissen...
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (05 – Elementare Datenstrukturen) Prof. Th. Ottmann.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 6 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Benötigte Applets Startseite: in HTML-Format Applet auf der Startseite Das Applet, das auf der Startseite geladen wird, wird die vier Buttons und die eine.
Diskrete Mathematik I Vorlesung 6 Binärer Suchbaum II.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik I Vorlesung Listen-
PRJ 2007/1 Stefan Dissmann Motivation Problem: gleiche Datenstrukturen werden für verschiedene Objekte gebraucht: z.B. Listen von Studierenden, Kunden,
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
PKJ 2005/1 Stefan Dissmann Klassenhierarchie Person Kunde Goldkunde Lieferant Object.
DVG Einfache Klassen 1 Einfache Klassen. 2DVG Einfache KlassenStrukturen Beispiel: Personendaten bestehen aus String name String name.
Einführung in die Programmierung Datensammlung
Informatikunterricht mit Java
© 2002 Dr. Cavelius - Ley - Pohlig - Taulien Programmierung im Netz und Internet: Einführung in die Programmiersprache Java Teil I 1 Klassen Objekte von.
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Einfach verkettete Listen
Einfach verkettete Listen (OOP)
PRJ 2007/1 Stefan Dissmann Verkettete datenstruktur: Liste Problem: Liste, die eine beliebige Zahl von Elementen verwaltet Operationen: Erzeugen, Anfügen,
Abteilung für Telekooperation Übung Softwareentwicklung 1 für Wirtschaftsinformatik Dr. Wieland Schwinger
Abteilung für Telekooperation Übung Softwareentwicklung 1 für Wirtschaftsinformatik Dr. Wieland Schwinger
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
EPROG Tutorium Einheit 4 Klassen und Objekte. Wiederholung Schleifen do... while while for break/continue Strings String char Methoden für Strings Arrays.
1.3 Klassen und Beziehungen
1.3 Klassen und Beziehungen
Einfach und doppelt verkettete Listen in JAVA by Jens Weibler
EPROG Tutorium #3 Philipp Effenberger
Java-Kurs - 8. Übung Besprechung der Hausaufgabe.
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
Java-Kurs - 6. Übung Besprechung der Hausaufgabe
Institut für Kartographie und Geoinformation Diskrete Mathematik I Vorlesung Binärer Suchbaum I-
Diskrete Mathe Diskrete Mathematik I Listen Vorlesung 4.
Objektorientierte Datenbanken
Tutorium Software-Engineering SS14 Florian Manghofer.
Eine Vokabelschlange. Schlangen in Anwendungsprogrammen Die Piktogramme von Personen, mit denen wir ursprünglich die Datenstruktur Schlange eingeführt.
Vererbung in Java. public abstract class Form { protected int breite; protected int hoehe; protected String farbe; /** * Erzeuge eine Form der Breite.
Die allgemeine Liste.
Anforderungen an die neue Datenstruktur
Objektorientierung Gliederung von Daten und Funktionen zu Objekten
Aufgaben zu Rückgabewerten
Der Abschluss einer Schlange
Die Klasse Geist.
Die Klasse Vielfrass in Java
Klassen selbst programmieren
Felder in Java.
Allgemeine Befehle für die allgemeine Liste
Die Struktur einer Java-Klasse
Grundkurs Informatik 11-13
7. Arrays Gelegentlich braucht man für ein Programm mehrere Attribute desselben Datentyps oder derselben Klasse. Beispiel: In der Highscore-Liste eines.
Arrays in Java Ein Array ist eine Variable, die aus einer An-zahl von Elementen des gleichen Datentyps besteht, die aufeinanderfolgend im Speicher liegen.
Polymorphie Überladen
1. Die rekursive Datenstruktur Liste 1.3 Rekursive Funktionen
1. Die rekursive Datenstruktur Liste 1
Datenstrukturen und Softwareentwicklung
Implementieren von Klassen
Objektorientierte Programmierung
Grundkurs Informatik 11-13
1. Die rekursive Datenstruktur Liste 1
Juli 19 Informatik Kurse
 Präsentation transkript:

Zwei Denkansätze zur Klasse Schlange

Die beiden Denkansätze Wenn wir Datensätze in einem Feld speichern, haben wir nur eine begrenzte Zahl freier Plätze. Das bringt uns Fehlermeldungen und Probleme bei unerwartet vielen Daten. Wenn wir stattdessen eine Knotenliste verwenden, haben wir theoretisch beliebig viele Plätze. (Praktisch sind wir durch den Arbeitsspeicher beschränkt.)

verschiebeNachLinks () Die Klasse Knoten Knoten inhalt nachfolger Knoten () gibNachfolger () setzeNachfolger () verschiebeNachLinks () Die Klasse Knoten hat nur zwei Attribute: ihren Inhalt (bei uns eine Person der Warteschlange) und ihren Nachfolger, der wieder ein Knoten oder null ist. Standardmethoden sind der Konstruktor und die Möglichkeit, den Nachfolger abzufragen und einen anderen Nachfolger anzuhängen.

public class Schlange { private Knoten ersterKnoten; /** * Konstruktor. * Erzeuge eine leere Schlange. */ public Schlange() ersterKnoten = null; }

Neuer Knoten in der Schlange ersterKnoten Wir suchen den letzten Knoten und fügen als seinen Nachfolger den neuen Knoten an.

public void neuerKunde (boolean weiblich, String name, String hautfarbe, String haarfarbe, String schuhfarbe, String kleiderfarbe1, String kleiderfarbe2, String kleiderfarbe3) { int positionX = 0; Knoten aktuellerKnoten = ersterKnoten; if (null == ersterKnoten) ersterKnoten = new Knoten (positionX, 30, weiblich, Name, hautfarbe, haarfarbe, schuhfarbe, Kleiderfarbe1, kleiderfarbe2, kleiderfarbe3); } else positionX = 100; while (aktuellerKnoten.gibNachfolger () != null) aktuellerKnoten = aktuellerKnoten.gibNachfolger (); positionX += 100; aktuellerKnoten.setzeNachfolger (new Knoten (positionX, 30, weiblich, name, hautfarbe, haarfarbe, schuhfarbe, kleiderfarbe1, kleiderfarbe2, kleiderfarbe3));

Knoten verlässt die Schlange ersterKnoten ersterKnoten Wir streichen den ersten Knoten und nehmen seinen Nachfolger als neuen ersten Knoten. In den meisten objektorientierten Programmiersprachen gibt es zu jeder Klasse auch einen Destruktor, mit dem man nicht mehr benötigte Objekte löschen und ihren Speicherplatz freigeben kann. Er könnte alterKnoten.destroy () lauten. In Java gibt es jedoch keine Destruktoren. Hier muss man sich darauf verlassen, dass der sogenannte Garbage collector automatisch merkt, was unnötig ist und gelöscht werden soll.

public Person naechsterKunde () { Person ausgabe; if (null == ersterKnoten) ausgabe = null; } else ausgabe = ersterKnoten.gibInhalt (); ausgabe.werdeUnsichtbar (); ersterKnoten = ersterKnoten.gibNachfolger (); while (aktuellerKnoten != null) aktuellerKnoten.verschiebeNachLinks (); aktuellerKnoten = aktuellerKnoten.gibNachfolger (); return ausgabe;