Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

EPROG Tutorium #3 Philipp Effenberger

Ähnliche Präsentationen


Präsentation zum Thema: "EPROG Tutorium #3 Philipp Effenberger"—  Präsentation transkript:

1 EPROG Tutorium #3 Philipp Effenberger
Ergänzungen Klassen und Methoden Einleitung OOP 19. April 2005

2 Überblick Tutorium #2 Erweiterungen zu den Schleifen
Klassen- und Methodenbenützung Methoden allgemein Methodenrückgabewerte Besondere Methoden Klassenvariable – Methodenvariable Einleitung objektorientierte Programmierung Unterschied Klasse – Objekt 19. April 2005

3 Wiederholung Tutorium #2
String char boolean arrays if/else, do/while, while, for break, continue Operatoren 19. April 2005

4 Ergänzung zur if-Schleife
switch – Schleife Mehrfachverzweigung Condition nur vom Typ byte, short, char, int Auswertung der Condition bestimmt, welche Sprungmarke (deren Konstante Zuweisungskompartibel sein muss) Alle case-Konstanten müssen unterschiedliche Namen haben default – Label bestimmt Anweisung wenn kein Fall zutrifft, unique in Schleifen switch (condition) { case [Konstante 1]: anweisungen[;break]; //[…]optional case [Konstante 2]: anweisungen; default : anweisungen;} 19. April 2005

5 Methoden Haben eine bestimmte Funktionalität; z.B. etwas einlesen oder etwas zusammenfügen (String + String) Mit oder ohne Parameter bzw Rückgabewert (return x) Problemlos wiederverwendbar (wichtig für OOP) public [static] void <Name> (<Param>) , ... 19. April 2005

6 Methodenrückgabewerte
public void irgendeineMethode() {[nix kommt retour]} private int addDieZahl( int a) { return eineInteger; } package String getNamen() { return einenString } protected void setStud() { [nix kommt retour] }  Spezielle Methoden sind get und set Typisch für Rückgaben von Objekten oder Veränderungen der Klassen-/Programmparameter; s.g. ‚Getter‘ und ‚Setter‘ z.B.: public int getAlter( Student name, int matrnr ) 19. April 2005

7 Besondere Methoden Konstruktor: Erzeugt neues Objekt einer Klasse (new) Name ident mit Klassenname Kein Rückgabetyp, eventuell Parametertypen Initialisiert Objektvariablen für das betreffende Objekt z.B.: public Student( String name ) { this.name = name } Student stud1 = new Student( peter ) Destruktor: Gibt Speicher wieder frei, wenn Objekt nicht mehr gebraucht (eher bei Applets üblich) void finalize() Garbage Collector, null Gibt automatisch nicht mehr benötigten Speicher frei ( Destruktor) Kann auch direkt aufgerufen werden (eher bei Applets): System.gc() 19. April 2005

8 Klassenvariable/Objektvariable
static member Klassenvariable statisch, deswegen nur einmal für alle Objekte vorhanden. Deklariert innerhalb der Klasse, ausserhalb jeder Methode Sichtbarkeit zumindest in der gesamten eingenen Klasse Objektvariable member variable Objektvariable dynamisch und gilt nur für ein Objekt. Kann innerhalb einer Klasse deklariert werden Sichtbarkeit sollte ausschließlich in der eingenen Klasse sein (besser für OOP) Eventuell noch Rückgabewerte erklären 19. April 2005

9 Einleitung OOP 1 Klassen
Beschreiben ein Gerüst, nach dem ein Objekt erzeugt wird (z.B.: Hund) static members, z.B. Anzahl der erzeugten Objekte (in dem Fall Hunde ;-) ) Müssen nicht main-Methode haben – stellen „nur“ Methoden für ein Programm zur Verfügung Objekte Teil einer Klasse; z.B. Maxi, Wuschel,… Alle Objekte haben die selben members (aber mit unterschiedlichem Inhalt) Eigenschaften – durch member variables festgelegt Verhalten – durch Klassen-Methoden definiert 19. April 2005

10 Hintergrundwissen zu Klassen
Klasse – Objekt Klasse „nur“ Vorlage für Objekte Beliebig viele Objekte möglich von einer Klasse Sichtbarkeiten public … von überall private … nur in der selben Klasse protected … nur in den abgeleiteten Klassen package … nur im Package 19. April 2005

11 Einleitung OOP 1 stud4.tuwien.ac.at/~e0326017/eprog durchlesen!
Begleittext auf meinem TU-Webspace stud4.tuwien.ac.at/~e /eprog durchlesen! Alle wesentlichen Informationen zu OOP Alles notwendige als Handout Ab nächster Woche notwendiges Hintergrundwissen 19. April 2005

12 Wichtige Klassen für nächstes Tutorium (OOP)!
java.lang.String java.Arrays java.util.List (ArrayList, LinkedList) → Container java.util.Vector java.util.Iterator java.util (nur zum überfliegen, da viele nützliche Klassen) Link zum Thema Pointers (für Interessierte) 19. April 2005


Herunterladen ppt "EPROG Tutorium #3 Philipp Effenberger"

Ähnliche Präsentationen


Google-Anzeigen