Die allgemeine Liste.

Slides:



Advertisements
Ähnliche Präsentationen
der Universität Oldenburg
Advertisements

der Universität Oldenburg
Klassen - Verkettete Liste -
Konzepte objektorientierter Systeme
Threads Richard Göbel.
Sortieren mit Binären Bäumen
Java: Dynamische Datentypen
Abstrakte Klassen.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (05 – Elementare Datenstrukturen) Prof. Th. Ottmann.
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.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 5 Polymorphismus Sommersemester 2003 Lars Bernard.
Einführung in die OOP in Java
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.
3. Klassendiagramme in Java implementieren
DVG Interfaces. DVG mehrfache Vererbung 4 Mehrfache Vererbung ist die Ableitung einer Klassen von mehreren anderen Klassen. –farbigerPunkt.
07-GraphischeObjekte Graphische Objekte in EMMA301Paint.
DVG Klassen und Objekte
12-Drucken Drucken in JAVA. 12-Drucken2 Probleme beim Drucken: Es können nur graphische Informationen gedruckt werden. Die zu druckende Information muss.
Einführung in die Programmierung Anweisungen und Datentypen
Informatikunterricht mit Java
Vererbung Einfache Vererbung – Erben von abstrakten Klassen – Implementieren eines Interfaces.
© 2002 Dr. Cavelius - Ley - Pohlig - Taulien Programmierung im Netz und Internet: Einführung in die Programmiersprache Java Teil I 1 Klassen Objekte von.
Klassen und Schnittstellen Klasse: Definiert Zustandsraum ihrer Instanzen vollständig (Implementierung der Struktur, soweit Voraussetzung für die Methoden-
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
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,
1.2 Attribute und Methoden Aufbau einer Java-Klasse:
Klassendefinitionen in Java
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Aufruf einer Methode eines Objektes vom Typ „Bruch“
Grundlegende Sortieralgorithmen
EPROG Tutorium #6 Philipp Effenberger
EPROG Tutorium #5 Philipp Effenberger
Java-Kurs - 8. Übung Besprechung der Hausaufgabe.
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
Java-Kurs Übung Besprechung der Hausaufgabe
Abstrakte Klassen und das Interface-Konzept
Controller Werkstatt updaten Werkstatt ws = werkstattarray.get(werkstattId); ws.setName(name); ws.setAnsprechpartner(ansprechpartner); ws.setTelefonnummer(telefonnummer);
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.
Schwarz, Lubkoll : Javakurs LE Organisatorisches ● Wer sind wir? ● Was machen wir hier? ● Was haben wir davon? ● Was habt ihr davon?
Vererbung in Java. public abstract class Form { protected int breite; protected int hoehe; protected String farbe; /** * Erzeuge eine Form der Breite.
Objektorientiertes Modellieren und Programmieren mit Java
Schnittstellen.
Objektorientierung Gliederung von Daten und Funktionen zu Objekten
„Was du ererbt von Deinen Vätern hast, erwirb es, um es zu besitzen.“
Venusspiegel und Marsschild
Zwei Denkansätze zur Klasse Schlange
Aufgaben zu Rückgabewerten
Java-Kurs Übung Grafik in Java - das Abstract Windowing Toolkit
Der Abschluss einer Schlange
Wiederholungen mit Zähler
Die Klasse Geist.
Die Klasse Vielfrass in Java
Löschen im Suchbaum.
Kniffelergebnisse.
Allgemeine Befehle für die allgemeine Liste
Die Struktur einer Java-Klasse
Raphael Fischer Informatik II - Übung 06 Raphael Fischer
Cäsar-Verschlüsselung
Cäsar-Verschlüsselung
Objektorientiertes Modellieren und Programmieren mit Java
Interfaces Definition von Interfaces Verwendung von Interfaces
1. Die rekursive Datenstruktur Liste 1
Implementieren von Klassen
3. Die Datenstruktur Graph 3.2 Repräsentation von Graphen
Grundkurs Informatik 11-13
1. Die rekursive Datenstruktur Liste 1
 Präsentation transkript:

Die allgemeine Liste

Der Knoteninhalt als Schnittstelle interface Eintrag int xVerschiebung = 100 int yVerschiebung = 0 void verschiebeNachLinks () void verschiebeNachRechts () void werdeUnsichtbar () boolean istKleinerAls (Eintrag) void druckeAufKonsole () Wir wollen die Liste so programmieren, dass sie für alle Knoteninhalte funktioniert: einerseits für Graphiken in einer Personen- oder Autoschlange und andererseits für Textinhalte wie Fremdsprachenvokabeln oder CD-Beschreibungen. Die Attribute und Methoden zum Verschieben und Unsichtbarmachen werden nur für Graphiken benötigt. Die Methode istKleinerAls () dient zum Sortieren; druckeAufKonsole () ist eine schlichte Textausgabe.

Graphikmethoden in der Klasse Person public void verschiebeNachRechts () { verschiebe (xVerschiebung, yVerschiebung); } public void verschiebeNachLinks () verschiebe (-xVerschiebung, -yVerschiebung); public void werdeUnsichtbar () haupthaar.werdeUnsichtbar (); […] schuh2.werdeUnsichtbar (); namensschild.werdeUnsichtbar (); Mit xVerschiebung = 100 und yVerschiebung = 0 wird die Personenschlange von links nach rechts gezeichnet mit bis zu 100 Bildpunkten Breite je Person. Durch Ändern dieser Werte kann die Schlange optisch in andere Richtungen verlaufen.

Vergleichsmethode in der Klasse Person public boolean istKleinerAls (Eintrag andererEintrag) { if (andererEintrag instanceof Person) if (name.compareTo (((Person) andererEintrag).gibName ()) < 0) return true; } else return false; Wenn der andere Eintrag tatsächlich eine Person ist und wenn er als Person einen Namen hat, der alphabetisch nach dem Namen des aktuellen Person kommt, dann nennen wir die aktuelle Person kleiner als den anderen Eintrag. (Man könnte auch einen Fehler melden, wenn der andere Eintrag keine Person ist.)

Druckmethode in der Klasse Person public void druckeAufKonsole () { System.out.println ("Name : " + name); System.out.print ("Geschlecht: "); if (istWeiblich ()) System.out.print ("weiblich"); } else System.out.print ("männlich"); System.out.println ("Hautfarbe : " + hand1.gibFarbe ()); System.out.println ("Haarfarbe : " + haupthaar.gibFarbe ()); System.out.println (); Die Druckmethode liefert einen nichtgraphischen Steckbrief der betreffenden Person.

Graphikmethoden in der Klasse Vokabel public void verschiebeNachRechts () { } public void verschiebeNachLinks () public void macheUnsichtbar () Für Vokabeln wünschen wir keine graphische Darstellung. Darum tun die Graphikmethoden hier gar nichts.

Druckmethode in der Klasse Vokabel public void druckeAufKonsole () { System.out.println ("Fremdsprache: " + fremd); System.out.println ("Deutsch: " + deutsch); System.out.println (); } Um eine Vokabelkarteikarte anzuzeigen, genügt die Angabe der fremdsprachlichen und der deutschen Bedeutung.

Implementierung in der Klasse Tretauto Da Tretauto ebenfalls eine graphische Klasse ist, können wir ihre Graphikmethoden genauso implementieren wie diejenigen der Klasse Person. Tretautos besitzen jedoch keinen Namen, nach dem sie sich sortieren ließen. Wir können ihre Vergleichsmethode istKleinerAls () jedoch zum Beispiel so programmieren, dass immer dasjenige Tretauto das kleinste ist, dessen Karosseriefarbe am weitesten vorne im Alphabet steht. Damit werden die Tretautos beim sortierten Einfügen in die Liste nach Farbe geordnet.

Gemischte Listen In die allgemeine Liste können wir Objekte aus allen Klassen einfügen, welche die Schnittstelle Eintrag implementieren. Damit lassen sich Personen, Vokabeln und Tretautos bunt mischen. In der graphischen Darstellung der Liste ist überall dort eine Lücke, wo eine Vokabel steht. In der Konsolenausgabe der Liste kommen die Vokabeln jedoch vor.

Klassendiagramm Eintrag Person Vokabel Tretauto … Alle drei Klassen Person, Vokabel und Tretauto implementieren die Schnittstelle Eintrag. Beliebig viele weitere Implementierungen sind denkbar. public abstract class Person implements Eintrag […] public class Vokabel implements Eintrag Sobald wir eine Klasse mit implements der Schnittstelle untergeordnet haben, zwingt uns der Compiler, alle Methoden der Schnittstelle in der Klasse selbst oder spätestens in ihren Unterklassen zu programmieren (also zu „implementieren“).