Programmeren in Java/Getters en Setters: verschil tussen versies
Verwijderde inhoud Toegevoegde inhoud
Label: bewerking met nieuwe wikitekstmodus |
poets |
||
Regel 1:
{{Programmeren in Java|Deel=Klassen}}
Over het algemeen is het sterk aangeraden om eigenschappen of velden van klassen te beschermen door de ''access modifier''
== Enkele voorbeelden ==
Als voorbeeld gaan we een simpele ''Person''
<syntaxhighlight lang=Java>
Regel 59:
</syntaxhighlight>
Je bent ook niet verplicht om ''getters'' en ''setters'' aan te maken voor al je velden. Je kunt zelf bepalen of die al dan niet nodig zijn, bijvoorbeeld je zou kunnen bepalen dat je enkel ''getters'' maakt omdat je misschien van mening bent dat de velden niet meer van
== Booleans ==
Regel 85:
public static void main(String[] args) {
Person person = new Person();
if (person.isMarried()) {
System.out.println("Deze persoon is getrouwd.");
} else {
Regel 94:
</syntaxhighlight>
Met ''if (person.isMarried
== Arrays of Collections ==
Bij arrays, en daarmee ook bij uitbreiding collections, moet je rekening houden met
<syntaxhighlight lang=Java>
Regel 131:
</syntaxhighlight>
Op zich zijn deze ''getters'' en ''setters''
<syntaxhighlight lang=Java>
Regel 140:
System.out.println(father.getFirstName() + " heeft volgende kinderen:");
for (Person child : father.getChildren()) {
System.out.println(child.getFirstName());
}
Regel 150 ⟶ 149:
System.out.println(father.getFirstName() + " heeft volgende kinderen:");
for (Person child : father.getChildren()) {
System.out.println(child.getFirstName());
}
Regel 158 ⟶ 156:
</syntaxhighlight>
Dit zal volgende
<pre>
Regel 168 ⟶ 166:
</pre>
We hebben met ''father.getChildren()'' dus niet een kopie van de array opgehaald en in de ''main'' bewaard, maar een referentie naar de array in het ''father''
Hierbij
<syntaxhighlight lang=Java>
Regel 178 ⟶ 176:
public void setChildren(Person[] children) {
for (Person child : children) {
if
throw new IllegalArgumentException("Array mag geen null bevatten.");
}
Regel 210 ⟶ 207:
<syntaxhighlight lang=Java>
public Person getChild(String firstName) {
for (Person child : children) {
if (child.firstName.equals(firstName)) {
return child;
}
Regel 225 ⟶ 222:
public void removeChild(Person child) {
for (int i = 0; i < children.length; i++) {
if (children[i].equals(child)) {
children[i] = null;
}
Regel 232 ⟶ 229:
</syntaxhighlight>
Dit zijn natuurlijk maar voorbeelden en met zulke ''getters'' en ''setters'' kun je nog variaties maken. Je kunt ook bijvoorbeeld meerdere ''addChild
== Combinatie van gegevens of berekende gegevens ==
|