Instanzvariable: Unterschied zwischen den Versionen

Keine Bearbeitungszusammenfassung
 
(6 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 11: Zeile 11:
<iframe width="450" height="300" src="https://www.youtube.com/embed/LYKRDQhpmbQ?si=7Z1mMrXmYw-FStpm" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></html>
<iframe width="450" height="300" src="https://www.youtube.com/embed/LYKRDQhpmbQ?si=7Z1mMrXmYw-FStpm" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></html>
== Deklaration ==
== Deklaration ==
Wie jede Variable  müssen Instanzvariablen deklariert werden. Sie werden in der [[Objektorientierung|objektorientierten]] Programmierung in [[Klasse|Klassen]] definiert.  Hier muss der [[Datentyp]] und der Name der Instanzvariable festgelegt werden. Bei den Datentypen kann es sich um primitive und komplexe Datentypen handeln. Zusätzlich kann die [[Sichtbarkeit]] der Instanzvariable definiert werden. Wird keine Angabe zur Sichtbarkeit gemacht, ist die Sichtbarkeit standardmäßig public.
Wie jede Variable  müssen Instanzvariablen [[Deklaration|deklariert]] werden. Sie werden in der [[Objektorientierung|objektorientierten]] Programmierung in [[Klasse|Klassen]] definiert.  Hier muss der [[Datentyp]] und der Name der Instanzvariable festgelegt werden. Bei den Datentypen kann es sich um [[Primitiver Datentyp|primitive]] und komplexe Datentypen handeln. Zusätzlich kann die [[Sichtbarkeit]] der Instanzvariable definiert werden. Wird keine Angabe zur Sichtbarkeit gemacht, ist die Sichtbarkeit standardmäßig public.
<syntaxhighlight lang="Java">
<syntaxhighlight lang="Java">
private double rechnungsbetrag;</syntaxhighlight>
private double rechnungsbetrag;</syntaxhighlight>
Zeile 19: Zeile 19:


==== Namensgebung ====
==== Namensgebung ====
Um die Lesbarkeit von Programmen zu verbessern, hat es sich ein Standard der Benennung von Variablen etabliert. Demnach sollten  
Um die Lesbarkeit von Programmen zu verbessern, hat es sich ein Standard der Benennung von [[Variable (Informatik)|Variablen]] etabliert. Demnach sollten  


* Variablennamen mit Nomen oder Adjektiven bezeichnet werden.   
* Variablennamen mit Nomen oder Adjektiven bezeichnet werden.   
Zeile 30: Zeile 30:
Die [[Sichtbarkeit]] von Instanzvariablen sollte als "private" gewählt werden. So wird sichergestellt, dass Daten nicht ungefiltert in die Instanzvariable hineingeschrieben und gelesen werden können. Der Zugriff auf eine private Instanzvariable erfolgt mittels einer öffentlichen (public)  sondierenden-[[Methode]]. Das Zuweisen von Werten erfolgt durch verändernde-Methoden.
Die [[Sichtbarkeit]] von Instanzvariablen sollte als "private" gewählt werden. So wird sichergestellt, dass Daten nicht ungefiltert in die Instanzvariable hineingeschrieben und gelesen werden können. Der Zugriff auf eine private Instanzvariable erfolgt mittels einer öffentlichen (public)  sondierenden-[[Methode]]. Das Zuweisen von Werten erfolgt durch verändernde-Methoden.


Der [[Datentyp]] (insbesondere primitive Datentypen) einer Instanzvariable legt fest, welche Art von Daten gespeichert werden können. Zudem wird der Wertebereich durch die Wahl des Datentyps eingeschränkt. Dennoch ist es sinnvoll die zulässigen Werte einer Instanzvariable sehr genau festzulegen.
Der [[Datentyp]] (insbesondere [[Primitiver Datentyp|primitive Datentypen]]) einer Instanzvariable legt fest, welche Art von Daten gespeichert werden können. Zudem wird der Wertebereich durch die Wahl des Datentyps eingeschränkt. Dennoch ist es sinnvoll die zulässigen Werte einer Instanzvariable sehr genau festzulegen.


So kann es sinnvoll sein, dass Rechnungsbeträge nur durch positive Gleitkommazahlen abgebildet werden sollen. Wählt man den Datentyp double, ist das Speichern von negativen Werten nach wie vor möglich.  Eine valide Postleitzahl wiederum besteht stets aus fünf Ziffern. Das Passwort eines Mitarbeiters soll mindestens aus sechs Zeichen bestehen und mindestens eine Ziffer beinhalten. Diese Auswahl an Beispielen zeigt, dass ein Mechanismus benötigt wird, der sicherstellt, dass die Wertzuweisung von Instanzvariablen einer Qualitätskontrolle unterzogen wird.
So kann es sinnvoll sein, dass Rechnungsbeträge nur durch positive Gleitkommazahlen abgebildet werden sollen. Wählt man den [[Datentyp]] double, ist das Speichern von negativen Werten nach wie vor möglich.  Eine valide Postleitzahl wiederum besteht stets aus fünf Ziffern. Das Passwort eines Mitarbeiters soll mindestens aus sechs Zeichen bestehen und mindestens eine Ziffer beinhalten. Diese Auswahl an Beispielen zeigt, dass ein Mechanismus benötigt wird, der sicherstellt, dass die Wertzuweisung von Instanzvariablen einer Qualitätskontrolle unterzogen wird.
 
Diese Qualitätskontrolle wird durch  verändernde-[[Methode|Methoden]] realisiert.  Diese Methode wird für jede Instanzvariable angelegt. Sie erhält einen Eingabeparameter, der den Wert für die [[Instanzvariable]] setzt. Bevor der Wert an die Instanzvariable übertragen wird, wird er auf Qualitätskriterien überprüft.


Diese Qualitätskontrolle wird durch  verändernde-Methoden realisiert.  Diese Methode wird für jede Instanzvariable angelegt. Sie erhält einen Eingabeparameter, der den Wert für die Instanzvariable setzt. Bevor der Wert an die Instanzvariable übertragen wird, wird er auf Qualitätskriterien überprüft.
== Beispiel ==
== Beispiel ==
<syntaxhighlight lang="Java">
<syntaxhighlight lang="Java">
Zeile 82: Zeile 83:
     }
     }
}</syntaxhighlight>
}</syntaxhighlight>
[[Kategorie:Programmierung]]
[[Kategorie:AHR_I_Informatik_LK]]
[[Kategorie:FI_I_SDM]]
[[Kategorie:FI_I_TP1]]