web Flashcards
Was ist Eine Variable ?
Variablen sind das wichtigste konzept in der Programmierung
Deklaration
Private int anzahl;
Intilialisirung
Private int anzahl=0;
Was ist eine konstante Variable?
Eine Variable derernwert wäjrend der Ausführung des programms nicht geändert werden kann.bedeutet dass wir der konstanten Variablen zur Laufzeit keine werte zuweisen.
Komplierzeit Konstanten
werden mit Schlüsselwort const deklariert
Laufzeit Konstanten
werden mit Schlüsselwort credonly deklariert
const
erlaubt nur konstante variablen im Ausdruck . kann so wohl auf klassenebene als auch innerhalb der Methode deklariert werden . kann nicht mit dem schlüsselwort static deklariert werden da sie standardmäßig statisch ist .
Strukturtyps
Beim Design eines Strukturtyps können im Wesentlichen dieselben Member eingesetz werden wie bei einer Klassendefinition. Eine Variable vom Typ einer Struktur enthält jedoch keine Referenz
auf ein Heap-Objekt, sondern alle Feldinhalte ihres Typs.Eine Variable vom Typ einer Struktur enthält jedoch keine Referenz
auf ein Heap-Objekt, sondern alle Feldinhalte ihres Typs.
Wie bei Variablen mit einem elementaren Datentyp liegt keine
Referenz-, sondern eine Wertsemantik vor.
Strukturen
Kleine Instanzen,Wertsemantik erwünscht,Nullinitialisierung akzeptabel, Keine Vererbung erforderlich
Kleine Instanzen
Der Typ ist relativ einfach aufgebaut, hat also nur wenige Instanzvariablen. z.B. Punkte in einem
zwei oder drei dimensionalem Raum.
Wertsemantik erwünscht
Bei einem Methodenaufruf wird eine als Wertparameter verwendete Strukturinstanz komplett
kopiert, während von einem Parameterobjekt nur die Adresse übergeben wird. Das Original der
kopierten Strukturinstanz wird durch den Methodenaufruf nicht verändert, was beim
Parameterobjekt hingegen möglich ist.
Nullinitialisierung akzeptabel
Bei einer Struktur muss sichergestellt sein, dass die Nullinitialisierung aller Felder zu einer
regulären Instanz führt.
Keine Vererbung erforderlich
Bei Strukturen fehlt die Möglichkeit, per Vererbung eine Hierarchie spezialisierter Typen
aufzubauen. Das Implementieren von Schnittstellen ist aber möglich.
Strukturen
Sie können ohne den Operator new ein Objekt erzeugen, wenn die Struktur
ausschließlich Felder hat und keine Methoden. Enthält die Struktur jedoch
Methoden, müssen zuerst alle Felder initialisiert werden, um die Methoden des
Objekts fehlerfrei aufrufen zu können.
Konstruktoren in Strukturen
Standardmäßig stellt eine Struktur einen parameterlosen Konstruktor bereit, der
mit new-Operator aufgerufen werden kann.
Strukturen lassen die Definition weiterer Konstruktoren zu, die jedoch
parametrisiert sein müssen, denn das Überschreiben des parameterlosen
Konstruktors einer Struktur ist nicht erlaubt. Fügen Sie einen parametrisierten
Konstruktor hinzu, muss eine Bedingung erfüllt werden: Alle Felder der Struktur
müssen initialisiert werden.