Klassendefinitionen in Java

Slides:



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

Objektorientierte Programmierung
der Universität Oldenburg
der Universität Oldenburg
1 Funktionstemplates Einbinden von Templates: –Eine *.o Datei, die durch Übersetzen einer Datei nur mit Templates erzeugt wurde, enthält keinen Programmcode.
DVG Einfache Klassen Einfache Klassen. DVG Einfache Klassen 2 Strukturen Beispiel: Personendaten bestehen aus –String name –String vorname.
Kritische Betrachtung
Progwerkstatt JAVA Klasse, Objekte, Konstruktoren, Methoden
der Universität Oldenburg
Objektorientierte Programmierung Definition von Klassen
Objektorientierte Programmierung mit Java unter BlueJ
Java: Reversi Spielbrett
Java: Objektorientierte Programmierung
Java: Grundlagen der Objektorientierung
Vererbung.
Abstrakte Klassen.
Ein Beispiel in Java.
Erweiterte Zuweisungskompatibilität
Konstruktoren.
Interface bzw. Schnittstelle anschaulich: Hüllenklasse
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
Java-Kurs - 7. Übung Besprechung der Hausaufgabe Referenzvariablen
Programmieren mit JAVA
Programmieren mit JAVA
Vererbung Spezialisierung von Klassen in JAVA möglich durch
PKJ 2005/1 Stefan Dissmann Ausblick Es fehlen noch: Möglichkeiten zum Strukturieren größerer Programme Umgang mit variabler Zahl von Elementen Umgang mit.
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
DVG Interfaces. DVG mehrfache Vererbung 4 Mehrfache Vererbung ist die Ableitung einer Klassen von mehreren anderen Klassen. –farbigerPunkt.
07-GraphischeObjekte Graphische Objekte in EMMA301Paint.
Abstrakte Klassen, Interface
DVG Klassen und Objekte
DVG Einfache Klassen 1 Einfache Klassen. 2DVG Einfache KlassenStrukturen Beispiel: Personendaten bestehen aus String name String name.
EDV Parallelprogrammierung1 Parallelprogrammierung mit JAVA.
FH-Hof Java2D - Grundlagen Richard Göbel. FH-Hof Java2D - Funktionen Java2D unterstützt: das Zeichnen von Grafiken die Darstellung von Texten die Darstellung.
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,
Entwurfs- und Implementationsdiagramme
Objektorientiertes Programmieren
CuP - Java Elfte Vorlesung Montag, 11. November 2002.
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
Aufruf einer Methode eines Objektes vom Typ „Bruch“
Klassenhierarchien, Vererbung
Objektorientierte Modellierung mit UML
Java-Kurs - 6. Übung Besprechung der Hausaufgabe
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
Java-Kurs - 6. Übung Besprechung der Hausaufgabe
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Gerhard Gröger Einführung in die Programmierung mit Java 8. Vorlesung WS 2002/2003.
Java-Kurs - 5. Übung Besprechung der Übungsaufgabe Klassen und Objekte
Java-Kurs Übung Besprechung der Hausaufgabe Vererbung
Einführung in die Programmierung mit Java
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Thomas H. Kolbe Einführung in die Programmierung mit Java 9. Vorlesung WS 2001/2002.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Gerhard Gröger, Dipl.-Ing. Dirk Dörschlag Einführung in die Programmierung mit.
Java-Kurs - 9. Übung Besprechung der Hausaufgabe
Tutorium Software-Engineering SS14 Florian Manghofer.
Dr. Wolfram Amme, Virtuelle Vererbung, Informatik II, FSU Jena, SS Auflösung von Konflikten bei Mehrfachvererbung Umbenennung mehrdeutiger Methoden.
Vererbung in Java. public abstract class Form { protected int breite; protected int hoehe; protected String farbe; /** * Erzeuge eine Form der Breite.
Schnittstellen.
Objektorientierung Gliederung von Daten und Funktionen zu Objekten
Venusspiegel und Marsschild
OOP II.
Java-Kurs - 8. Übung Klassen und Objekte: Vererbung
Die Klasse Vielfrass in Java
Die Struktur einer Java-Klasse
Programmierung und Vererbung in Java
OO-Programmierung & Vererbung
Arrays in Java Ein Array ist eine Variable, die aus einer An-zahl von Elementen des gleichen Datentyps besteht, die aufeinanderfolgend im Speicher liegen.
2. Vererbung und Kapselung
9. Vererbung und Polymorphie
 Präsentation transkript:

Klassendefinitionen in Java ein kleines Beispiel

Die Klasse Jabberwocky Das ist ein Jabberwocky Das ist ein Frühstück

<< Konstruktor >> << Methoden >> Die Klasse Jabberwocky Klasse Jabberwocky Der Name der Klasse Die Variablen der Klasse } + zaehne : int + hungrig : boolean + laune : int + farbe : int << Konstruktor >> + Jabberwocky(Color f, int z ) Der Konstruktor der Klasse Der Methoden der Klasse } << Methoden >> + bauernfressen ( int x ) + zahnverlieren ( ) + launewechseln ( int y )

<< Konstruktor >> << Methoden >> Die Klasse Jabberwocky Klasse Jabberwocky + zaehne : int + hungrig : boolean + laune : int + farbe : int << Konstruktor >> +Jabberwocky(Color f, int z) << Methoden >> + bauernfressen ( int x ) + zahnverlieren ( ) + launewechseln ( int y ) Im Javaprogramm: Jabberwocky Karl, Erwin; // zwei Drachen !! ..... Karl = new Jabberwocky(Color.yellow,12); ... Erwin = new Jabberwocky(Color.green,23); Nun existiert Karl - er ist gelb und hat 12 Zähne und es existiert Erwin - er ist grün und hat 23 Zähne

<< Konstruktor >> << Methoden >> Die Klasse Jabberwocky Die Klassendefiniton in Java: class Jabberwocky { int zaehne; boolean hungrig; int laune; // je größer die Zahl, desto besser die Laune Color farbe; //********************** Konstruktor ********* public Jabberwocky (Color f, int z) farbe=f; // Farbe, die bei new Jabberwocky angegeben war zaehne=z; // hole die Zahnzahl } //********************** Methoden ********* public void bauernfressen ( int x ) laune = laune + x; // mit jedem Bauern wird die Laune besser ................... // und so weiter .... Klasse Jabberwocky + zaehne : int + hungrig : boolean + laune : int + farbe : int << Konstruktor >> + Jabberwocky(Color f, int z ) << Methoden >> + bauernfressen ( int x ) + zahnverlieren ( ) + launewechseln ( int y )

Die Klasse Jabberwocky Und weiter im Javaprogramm.... ...... // nun steht Erwin vor einigen Bauern ... was wird er tun ? if ( Erwin.laune <2 ) { Erwin.hungrig = true; Erwin.bauernfressen(3); // womit Erwins Laune um 3 Punkte steigt Erwin.hungrig=false; // kein Hunger mehr } ......... // oder die beiden Drachen treffen sich: if (( Erwin.laune <2 ) && (Karl.laune > 5)) Erwin.farbe=Color.white; // er wird vor Neid ganz blass... Karl.zaehne=Karl.zaehne - 5; // haut ihm 5 Zähne weg.... Karl.laune=Karl.laune-12; //... das macht echt miese Stimmung

UML Unified Modeling Language Auto + raeder : int + leistung : int + farbe : Color - tachostand : int << Konstruktor >> + Auto (int r,int l, Color f ) << Methoden >> + starten ( ) + bremsen ( ) + ueberholen ( Moped m ) Moped + raeder : int + leistung : int + farbe : Color + hubraum : int << Konstruktor >> + Moped (int r, int l ,Color f ) << Methoden >> + starten ( ) + bremsen ( ) + ueberholen ( Mofa m ) Mofa + raeder : int + leistung : int + farbe : Color << Konstruktor >> + Mofa (int r, int l, Color f ) << Methoden >> + starten ( ) + bremsen ( ) meinMofa = new Mofa (2,5,Color.blue); ein neues Mofa mit 2 Rädern, 5 PS und schön blau meinAuto = new Auto (4,110,Color.red); meinMoped = new Moped (2,25,Color.green); ein neues Moped mit 2 Rädern, 25 PS und schön grün ein neues Auto mit 4 Rädern, 110 PS und schön rot Was würde wohl : meinAuto.ueberholen(deinMoped) sein ?

UML Oberklassen und Vererbung KFZ + raeder : int + leistung : int + farbe : Color << Konstruktor >> + KFZ (int r, int l, Color f ) << Methoden >> + starten ( ) + bremsen ( ) Die Oberklasse Nur Attribute und Methoden, die speziell hier gebraucht werden, werden auch hier definiert. Die Klassen Auto, Moped und Mofa sind von KFZ “abgeleitet”. Es sind Unterklassen, die alle Attribute und Methoden der Oberklasse erben. Vererbungspfeile Auto - tachostand : int << Konstruktor >> + Auto (int r, int l, Color f ) << Methoden >> + ueberholen ( Moped m ) Moped + hubraum : int << Konstruktor >> + Moped (int r, int l, Color f ) << Methoden >> + ueberholen ( Mofa m ) + Mofa (int r, int l, Color f ) << Methoden >> Mofa << Konstruktor >>

UML Oberklassen und Vererbung Bei der Definition der Unterklasse wird nun deutlich gemacht, dass geerbt wird: public class Moped extends KFZ { .......hier alle Attribute und Methoden, die nicht in der Oberklasse enthalten sind } Die Unterklassen ( Subklassen ) sollten / können einen eigenen Konstruktor haben. Mit dem Befehlswort “super” kann aber der Konstruktor der Oberklasse aufgerufen werden. z.B. public Moped (int x, int y, Color f) { super(x,y,f ); } // Konstruktor der Klasse Moped ruft des Konstruktor von KFZ auf und erzeugt dennoch ein neues Moped, wenn meinMoped = new Moped(2,5,Color.blue); benutzt wird.

UML Oberklassen und Vererbung In einigen Lehrbüchern findet man eine andere Pfeildarstellung für die Vererbung Oberklasse Attribute Methoden Schulklasse Attribute Methoden Schüler Attribute Methoden 1..30 Klasse 1 Attribute Methoden Klasse 2 Attribute Methoden Ist eine Klasse vollständig in einer andern Klasse enthalten, wird der Pfeil durch eine Raute ersetzt.

UML Oberklassen und Vererbung Schulklasse Attribute Methoden 1 1 Raum Attribute Methoden Tafel Attribute Methoden 1..30 Schüler Attribute Methoden Die Oberklasse enthalt noch weitere Unterklassen vollständig