Powerpoint-Folien zu OOP-1

Werbung
© 2004 Pohlig - Taulien
Klassen
Objekte von Klassen erzeugen
Grundkurs Informatik mit Java
1
© 2004 Pohlig - Taulien
Modellieren mit OOP
Alle konkreten Gegenstände und Sachverhalte,
die der Mensch mit seinen Sinnen wahrnimmt,
sind pure (Ab)bilder jener Urbilder und werden
nur erkannt, indem sie als eben solche
(Ab)bilder identifiziert werden
nach Platon
Alles was der Mensch wahrnimmt sind Objekte,
also Instanzen von Klassen (=Ideen).
Ein "java-sprechender" Platonschüler
Grundkurs Informatik mit Java
2
© 2004 Pohlig - Taulien
Klasse und Objekt
Was sind Objekte?
Konkretisierungen,
Instanzen von
Klassen
Referenzen
Mi
ta
rb
e
it e
r
Klasse: Punkt der Ebene
Objekt: Konkreter Punkt
P(2/4)
Mitarbeiter()
Mitarbeiter()
Mitarbeiter-Objekt
Mitarbeiter-Objekt
ändern Name
ändern Name
Name
Name
Gehalt
Gehalt
ändern Gehalt
Grundkurs Informatik mit Java
ändern Gehalt
3
© 2004 Pohlig - Taulien
Attribute einer Klasse
Eigenschaften, die den Zustand eines Objekts
beschreiben. Sie sind wie Variable, die Werte
haben.
Jedes nach einem Bauplan erzeugte Objekt hat
seine „eigene“ Attribute.
Punkte haben als Zustandsgrößen (Attribute) ihre
Koordinaten, in den Objekte haben sie konkrete
Werte
Grundkurs Informatik mit Java
4
© 2004 Pohlig - Taulien
Methoden einer Klasse
Übergänge von Zuständen
Werte abfragen, Werte setzen.
Konstruktoren aus den Klassen Objekte
erzeugen.
Grundkurs Informatik mit Java
5
© 2004 Pohlig - Taulien
Background
new neue Instanz auf dem Heap
Zähler für Instanzen einer Klasse
Nicht mehr referenzierte Objekte werden vom
Garbage Collector aufgespürt und zerstört, ihr
Speicherplatz also wieder freigegeben.
Garbage Cllector kann auch angestoßen werden:
System.gc
Grundkurs Informatik mit Java
6
© 2004 Pohlig - Taulien
UML Unified Modeling Laguage
Klassenname
Attribute
Konstruktoren
und Methoden
Grundkurs Informatik mit Java
7
© 2004 Pohlig - Taulien
Die Klasse Punkt
class Punkt {
Konstruktoren (müssen den gleichen
int x,y;
Namen wie die Klasse haben! Es kann
mehrere Konstruktoren geben)
Punkt() {
x=0;
y=0;
}
Punkt(int xStartWert, int yStartWert) {
x = xStartWert;
Parameterliste ( Muss in Typen und
y = yStartWert;
Reihenfolge passen, lokale Variable)
}
void verschiebe(int dx, int dy) {
x +=dx;
y +=dy;
Methode, die die Attribute (x und y)
}
der Klasse verändert.
}
Grundkurs Informatik mit Java
8
© 2004 Pohlig - Taulien
Benutzen der Klasse
public class Demo {
Zugriff auf die nicht
public static void main (String[] args) {
versteckten Attribute x und y
Punkt P1 = new Punkt();
Punkt P2 = new Punkt(3,65);
System.out.println("x1="+P1.x+"y1="+P1.y);
System.out.println("x2="+P2.x+"y2="+P2.y);
P1.verschiebe(2,2);
P2.verschiebe(2,2);
System.out.println("x1="+P1.x+"y1="+P1.y);
System.out.println("x2="+P2.x+"y2="+P2.y);
Erzeugen von 2
}
Aufruf der Methoden Verschieben
Objekten mit zwei
}
der Objekte P1 und P2 (mit
verschiedenen
passender Parameterliste)
Konstruktoren
Grundkurs Informatik mit Java
9
Herunterladen