Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Ein kleines Beispiel Klassendefinitionen in Java.

Ähnliche Präsentationen


Präsentation zum Thema: "Ein kleines Beispiel Klassendefinitionen in Java."—  Präsentation transkript:

1 ein kleines Beispiel Klassendefinitionen in Java

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

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

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

5 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.... Die Klasse Jabberwocky Klasse Jabberwocky + zaehne : int + hungrig : boolean + laune : int + farbe : int > + Jabberwocky(Color f, int z ) > + bauernfressen ( int x ) + zahnverlieren ( ) + launewechseln ( int y )

6 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 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 } Die Klasse Jabberwocky

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

8 UML Oberklassen und Vererbung Moped + hubraum : int > + Moped (int r, int l, Color f ) > + ueberholen ( Mofa m ) Auto - tachostand : int > + Auto (int r, int l, Color f ) > + ueberholen ( Moped m ) KFZ + raeder : int + leistung : int + farbe : Color > + KFZ (int r, int l, Color f ) > + 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. Die Klassen Auto, Moped und Mofa sind von KFZ abgeleitet. Es sind Unterklassen, die alle Attribute und Methoden der Oberklasse erben. Vererbungspfeile + Mofa (int r, int l, Color f ) > Mofa >

9 UML Oberklassen und Vererbung 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. 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 } public class Moped extends KFZ { hier alle Attribute und Methoden, die nicht in der Oberklasse enthalten sind }

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

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


Herunterladen ppt "Ein kleines Beispiel Klassendefinitionen in Java."

Ähnliche Präsentationen


Google-Anzeigen