Klassen
Konkrete Klassen = Klassen in denen Objekte erzeugt werden können
Abstrakte Klassen = Klassen in denen keine Objekte erzeugt werden, sondern andere Klassen abgeleitet und von diesen Objekte erzeugt werden können (werden mit dem Begriff "abstract" deklariert)
Eigenschaften von Klassen:
- sind benutzerdefinierte Typen
- definiert die allgemeine Charakteristik
- definiert was mit den Objekten gemacht werden kann (Schnittstelle)
- Verhalten und Charakteristik von Objekten wird festgehalten
- haben Attribute (z. B. Name, Alter, Wohnort)
- haben Methoden (z. B. Name ändern, Altern löschen, Wohnort hinzufügen)
- Klasse die als "final" deklariert wird kann nicht abgeleitet werden
Leere Klasse definieren:
class NeueKlasse {
}
Klasse mit Attribut "name" definieren:
class NeueKlasse {
String name;
}
Attribute einer Klasse
- sind die Eigenschaften eines Objekts
- Attribute können bei ihrer Deklaration auch gleich initialisiert (mit einem Wert belegt) werden
- dieser Wert kann jederzeit überschrieben werden
Methoden einer Klasse
- sind die Funktionen einer Klasse, welche auf die Objekte angewendet werden können
- Bestandteile einer Methode sind:
- Methodenname
- Parameterliste
- Rumpf
- evtl. Rückgabewert
- Eine spezielle Methode ist main da diese bei der Ausführung beginnt
- Jede Klasse kann eine eigene main - Methode / Routine haben
- Namenskonventionen:
- Klassen beginnen mit Großbuchstaben (im Gegensatz zu Attributen, Methoden und lokalen Variablen)
- einzelne Wörter der Klasse werden durch Großbuchstaben getrennt (sog. Camel Notation)