Venusspiegel und Marsschild

Slides:



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

der Universität Oldenburg
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
Kritische Betrachtung
der Universität Oldenburg
Threads Richard Göbel.
Java: Objektorientierte Programmierung
Java: Grundlagen der Objektorientierung
FH-Hof Fehlerbehandlung Richard Göbel. FH-Hof Konzept Fehler können mit dem Operator throw einer übergeordneten Funktion signalisiert werden. Parameter.
Abstrakte Klassen.
Erweiterte Zuweisungskompatibilität
Konstruktoren.
Polymorphie (Vielgestaltigkeit)
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
Vererbung Spezialisierung von Klassen in JAVA möglich durch
PKJ 2005/1 Stefan Dissmann Klassenhierarchie Person Kunde Goldkunde Lieferant Object.
07-GraphischeObjekte Graphische Objekte in EMMA301Paint.
DVG Klassen und Objekte
DVG Einfache Klassen 1 Einfache Klassen. 2DVG Einfache KlassenStrukturen Beispiel: Personendaten bestehen aus String name String name.
Einführung in die Programmierung Vererbung
© 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.
PRJ 2007/1 Stefan Dissmann Verkettete datenstruktur: Liste Problem: Liste, die eine beliebige Zahl von Elementen verwaltet Operationen: Erzeugen, Anfügen,
Klassendefinitionen in Java
CuP - Java Elfte Vorlesung Montag, 11. November 2002.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
1.3 Klassen und Beziehungen
1.3 Klassen und Beziehungen
Programmiervorkurs WS 2014/15 Methoden
Java-Kurs - 8. Übung Besprechung der Hausaufgabe.
Polymorphie (Vielgestaltigkeit). Wenn eine Methode, wie z.B. print für verschiedene Programmteile steht (und z.B. einmal Objekte verschiedener Klassen.
3. Beschreibung von Abläufen durch Algorithmen 3.4 Zufall
Java-Kurs - 6. Übung Besprechung der Hausaufgabe
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
Java-Kurs - 6. Übung Besprechung der Hausaufgabe
Java-Kurs Übung Besprechung der Hausaufgabe Vererbung
Java-Kurs Übung Besprechung der Hausaufgabe
Java-Kurs Übung Besprechung der Hausaufgabe Vererbung
Lösung der Hausaufgaben von Vorlesung 10 Universität Bonn Institut für Kartografie und Geoinformation Dipl.-Ing. Dörschlag, Dr. Gröger, Prof. Dr. Plümer.
Einführung in die Programmierung mit Java
Abstrakte Klassen und das Interface-Konzept
Tutorium Software-Engineering SS14 Florian Manghofer.
Vererbung in Java. public abstract class Form { protected int breite; protected int hoehe; protected String farbe; /** * Erzeuge eine Form der Breite.
Konstruktoren.
Schnittstellen.
Objektorientierung Gliederung von Daten und Funktionen zu Objekten
Vererbung.
„Was du ererbt von Deinen Vätern hast, erwirb es, um es zu besitzen.“
JAVA lernen: Methoden.
OOP II.
Der Abschluss einer Schlange
Wiederholungen mit Zähler
Die Klasse Geist.
Java-Kurs Übung Klassen und Objekte: Vererbung (Fortsetzung)
Felder in Java.
Ein schematischer Kirschbaum in Java
Allgemeine Befehle für die allgemeine Liste
Grundkurs Informatik 11-13
Grundkurs Informatik mit Java
Es gibt Klassen, die mit der Entwicklungsumgebung ausgeliefert werden
2. Vererbung und Kapselung
Definition Felder Konstruktor Methoden Beispiel
1. Die rekursive Datenstruktur Liste 1
9. Vererbung und Polymorphie
Implementieren von Klassen
Grundkurs Informatik 11-13
Polymorphie Überschreiben
 Präsentation transkript:

Venusspiegel und Marsschild

Zwei Symbole Der Venusspiegel und der Marsschild haben den Kreisring gemeinsam. Wenn man beide graphisch darstellen möchte, ist es darum sinnvoll, eine gemeinsame Oberklasse Symbol zu programmieren, die nur diesen Kreisring enthält. Die Unterklasse Venusspiegel muss dann noch um zwei Rechtecke ergänzt werden, die Unterklasse Marsschild um ein Parallelogramm und zwei Rechtecke.

♂ ♀ Klassendiagramm Symbol Venusspiegel Marsschild aussenkreis innenkreis werdeSichtbar () werdeUnsichtbar () setzeFarbe () setzePosition () ♀ ♂ Venusspiegel Marsschild laengsbalken querbalken schraegbalken linkeSpitze rechteSpitze

Die Klasse Symbol public class Symbol { protected Ellipse aussenkreis; protected Ellipse innenkreis; public Symbol (int x, int y) aussenkreis = new Ellipse (); aussenkreis.setzeBreite (100); aussenkreis.setzeHoehe (100); aussenkreis.setzeFarbe ("gruen"); aussenkreis.setzePosition (x, y); aussenkreis.werdeSichtbar (); innenkreis = new Ellipse (); innenkreis.setzeBreite (80); innenkreis.setzeHoehe (80); innenkreis.setzeFarbe ("weiss"); innenkreis.setzePosition (x + 10, y + 10); innenkreis.werdeSichtbar (); } Im Konstruktor der Klasse Symbol erzeugen wir den Kreisring, indem wir auf einen farbigen Außenkreis einen weißen Innenkreis legen.

public void werdeSichtbar () { aussenkreis.werdeSichtbar (); innenkreis.werdeSichtbar (); } public void werdeUnsichtbar () aussenkreis.werdeUnsichtbar (); innenkreis.werdeUnsichtbar (); public void setzeFarbe (String neueFarbe) aussenkreis.setzeFarbe (neueFarbe); innenkreis.setzeFarbe ("weiss"); public void setzePosition (int x, int y) aussenkreis.setzePosition (x , y ); innenkreis.setzePosition (x + 10, y + 10); Bei den vier Methoden der Klasse Symbol müssen wir jeweils den Außenkreis und den Innenkreis passend verändern.

Die Klasse Venusspiegel public class Venusspiegel extends Symbol { private Rechteck laengsbalken; private Rechteck querbalken; Am Schlüsselwort extends erkennen wir, dass der Venusspiegel eine Unterklasse der Klasse Symbol ist. Zusätzlich zum Kreisring des Symbols besitzt der Venusspiegel einen Längs- und einen Querbalken.

public Venusspiegel (int x, int y) { super (x, y); laengsbalken = new Rechteck (); laengsbalken.setzeBreite (14); laengsbalken.setzeHoehe (50); laengsbalken.setzeFarbe ("gruen"); laengsbalken.setzePosition (x + 43, y + 95); laengsbalken.werdeSichtbar (); querbalken = new Rechteck (); querbalken.setzeBreite (40); querbalken.setzeHoehe (14); querbalken.setzeFarbe ("gruen"); querbalken.setzePosition (x + 30, y + 112); querbalken.werdeSichtbar (); } Im Konstruktor des Venusspiegels rufen wir mit super () zunächst den Konstruktor der Oberklasse Symbol auf. Dadurch wird der Kreisring erzeugt. Anschließend erzeugen wir dazu passend den Längs- und den Querbalken.

public void werdeSichtbar () { super.werdeSichtbar (); laengsbalken.werdeSichtbar (); querbalken.werdeSichtbar (); } public void werdeUnsichtbar () super.werdeUnsichtbar (); laengsbalken.werdeUnsichtbar (); querbalken.werdeUnsichtbar (); Bei den Methoden der Klasse Venusspiegel rufen wir jeweils zuerst durch das vorangestellte super. die entsprechende Methode der Oberklasse Symbol auf. Anschließend verändern wir dazu passend den Längs- und den Querbalken.

public void setzeFarbe (String neueFarbe) { if (!neueFarbe.equals ("tuerkis")) super.setzeFarbe (neueFarbe); laengsbalken.setzeFarbe (neueFarbe); querbalken.setzeFarbe (neueFarbe); } public void setzePosition (int x, int y) super.setzePosition (x, y); laengsbalken.setzePosition (x + 43, y + 95); querbalken.setzePosition (x + 30, y + 112);