Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Klassendefinitionen in Java

Ähnliche Präsentationen


Präsentation zum Thema: "Klassendefinitionen in Java"—  Präsentation transkript:

1 Klassendefinitionen in Java
ein kleines Beispiel

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

3 << 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 )

4 << 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

5 << 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 )

6 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

7 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 ?

8 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 >>

9 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.

10 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.

11 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


Herunterladen ppt "Klassendefinitionen in Java"

Ähnliche Präsentationen


Google-Anzeigen