Lernhilfe OOP Intermediate
Klassen
Fields
Klassen können nicht nur wie bisher gelernt Konstruktoren, Properties und Methoden enthalten, sondern auch einfache Variablen (ohne { get; set; }
).
Diese Klassenvariablen werden auch Felder (engl. Fields) genannt.
Meistens werden Properties verwendet, wenn von außerhalb der Klasse auf die Werte zugegriffen werden soll (lesend/schreibend/beides).
Felder werden gerne verwendet um Variablen innerhalb der Klasse zu verwalten, auf die von außen kein Zugriff bestehen soll.
Private Felder werden meist camelCase
geschrieben, meist mit einem Unterstrich davor: _nickName
.
Read-Only Fields
Mit dem readonly
Modifier kann ausgedrückt werden, dass der Wert eines Fields nur gelesen, aber nicht verändert werden kann.
Der Wert muss dann bei der Initialisierung einer Objektinstanz gesetzt werden (direkt beim Field oder über den Konstruktor).
Danach kann die Variable nicht mehr ausgetauscht werden.
Achtung!!
Read-Only bedeutet nur, dass dem Feld kein anderer Wert zugewiesen werden kann. Wenn in der Variable allerdings ein komplexer Wert gespeichert ist (Array, Liste, Objekt, …), dann können einzelne Elemente in diesem Objekt nach wie vor geändert werden, solange es die Zugriffsmodifier des jeweiligen Typs zulassen.
UML
Zur Darstellung von Klassen und deren Aufbau können UML Klassendiagramme verwendet werden. UML steht für Unified Modelling Language. Eine Klasse wird repräsentiert durch ein Rechteck, das in drei Teile gegliedert ist die durch waagrechte Striche getrennt sind.
- Name der Klasse
- Properties
- Methoden
Ein Plus-Symbol vor einem Property oder einer Methode zeigt an, dass diese public sind, ein Minus-Symbol steht für private Member.
Das Diagramm entspricht dem folgenden Code:
Vererbung
siehe Vererbung