1 / 29

Progwerkstatt

Progwerkstatt. JAVA Klasse, Objekte, Konstruktoren, Methoden 2. Veranstaltung - WS 03/03. Progwerkstatt. Wir sind für Euch da! progwerkstatt@informatik.uni-ulm.de http://www.informatik.uni-ulm.de/ sgi/progwerkstatt/ Im Pool… …und in Vorträgen (aber das wisst ihr ja schon  ).

aron
Download Presentation

Progwerkstatt

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Progwerkstatt JAVA Klasse, Objekte, Konstruktoren, Methoden 2. Veranstaltung - WS 03/03

  2. Progwerkstatt • Wir sind für Euch da! • progwerkstatt@informatik.uni-ulm.de • http://www.informatik.uni-ulm.de/ sgi/progwerkstatt/ • Im Pool… • …und in Vorträgen (aber das wisst ihr ja schon  )

  3. Objektorientiert ? 1 • Java objektorientierte Sprache • Klassen als Definition • Objekte im tatsächlichen Programmablauf

  4. Objektorientiert 2 • Bsp Der kleine Franz will ein neues Auto

  5. Objektorientiert 3 • Also überlegt er sich, was ein Auto denn alles hat: • Räder • Lenkrad • Pedale • Hupe Man sieht seine Vorstellung eines Autos ist noch recht einfach 

  6. Objektorientiert 4 • Franz bittet seinen großen Bruder Klaus ihm doch so ein Auto zu bauen. Klaus meint: „Da brauche ich doch erst einmal eine Vorlage…“

  7. Klassen 1 • Klassen sind in Java quasi die Vorlage für Objekte • Sie enthalten Variablen, die die Attribute des Objektes darstellen • Methoden bieten Manipulationsmöglichkeiten

  8. Klassen 2 • Klaus baut sich also eine Vorlage…

  9. Klassen 3 Public class Auto { //Attribute für das Auto int raeder; int pedale; boolean hupe; boolean lenkrad; }

  10. Klassen 4 • Nun hat das Auto alle Attribute, die es braucht. Jetzt müsste man es nur noch konstruieren. Klaus geht in die Werkstatt…

  11. Klassen 5 • In Java muss man die Objekte auch konstruieren um mit ihnen arbeiten zu können. • Dafür gibt es in den Klassen die Konstruktoren

  12. Konstruktoren 1 • Jede Klasse verfügt über einen leeren Standard-Konstruktor • Erzeugt ein Objekt und nimmt für die Attribute Standardwerte an (die auf unterschiedlichen Systemen nicht gleich sein müssen). • Implizit • Sobald ein eigener Konstruktor angegeben wird, wird Standard-Konstruktor überschrieben.

  13. Konstruktor 2 • Angabe in der Klasse • Ähnlich einer Methode, allerdings: • Name wie Klasse • Keine Angabe über einen Rückgabewert • Parameterangabe wie bei Methoden möglich • Mehrere parallele Konstruktoren durch Überladen möglich

  14. Konstruktor 3 … Dieser Konstruktor public Auto(){ erzeugt immer „Autos“ raeder = 4; (genauer Objekte vom pedale = 3; Typ Auto) mit 4 lenkrad = true; Räder, 3 Pedalen, hupe = true; 1 Lenkrad und 1 Hupe } …

  15. Konstruktor 4 Ein etwas anderer Konstruktor public Auto (int r, int p, boolean h){ raeder = r; pedale = p; lenkrad = true; hupe = h; }

  16. Konstruktor 5 • Dieser Konstruktor lässt mehr Freiheiten bei der Konstruktion des Objekts -> Parameter angebbar • Parallel zum ersten Konstruktor in der Klasse

  17. Neue Objekte 1 • Objekte werden in Java normalerweise mittels new <Konstruktor> erzeugt • Bsp: Auto pkw = new Auto(); Auto AutoXP = new Auto (3, 2, false);

  18. Neue Objekte 2 Ein Auto bekommt man also durch: = new( ); 

  19. Methoden 1 • Franz freut sich über sein neues und gibt gleich einmal Gas…

  20. Methoden 2 • Objekte können manipuliert werden • Dazu gibt es die Methoden • Rückgabewerte (mittels return) oder void für keine Rückgaben • Parameter • Werden stets auf Objekte angewandt (Ausnahme: static – Methoden)

  21. Methoden 3 • Eine Beispielmethode public void gibGas(){ faehrt = true; } „faehrt“ ist dabei ein weiteres Attribut von Auto (und muss natürlich in der Klasse als solches definiert werden).

  22. Methoden 4 • Und bremsen müssen wir natürlich auch noch: public void bremse(){ faehrt = false; }

  23. Methoden 5 • Fahr ich oder stehe ich? public boolean gibStatus(){ return faehrt; } Hier eine Methode mit Rückgabewert. Wichtig: return - Statement

  24. Methoden 6 • Aufruf von Methoden: … Auto car = new Auto(); … car.gibGas(); … Man sieht, Methoden sind normalerweise objektgebunden

  25. Methoden 7 • Ausnahme: statische Methoden • Schlüsselwort static • Können über eine Klasse aufgerufen werden, ohne dass vorher ein Objekt dieser Klasse (mittels new) instanziert wurde • Verlassen des objektorientierten Konzeptes aber hin und wieder nützlich • Eine bekannte statische Methode: public static void main(String[] args){…}

  26. public class Auto{ int raeder; int pedale; boolean lenkrad; boolean hupe; boolean faehrt; // -- Konstruktoren -- public Auto(){ raeder = 4; pedale = 3; lenkrad = true; hupe = true; faehrt = false; } public Auto (int s, int p, boolean h){ raeder = s; pedale = p; lenkrad = true; hupe = h; faehrt = false; } // -- Ende der Konstruktoren -- Die Auto – Klasse 1

  27. public void gibGas(){ faehrt = true; } public void bremse() { faehrt = false; } public boolean gibStatus(){ return faehrt; } public void hupe(){ if (hupe){ System.out.println(„Hup“); } } … }//Klasse Auto Ende Die Auto Klasse 2

  28. Die Auto Klasse 3 • Natürlich kann man die Klasse beliebig erweitern • Übung macht den Meister – auch in Java • Wer mag kann die Auto – Klasse erweitern, umschreiben, verbessern… 

  29. Fazit • Franz hat sein neues Auto und ist glücklich… • Und Euch hat der Vortrag hoffentlich geholfen  • Fragen?

More Related