Programmeren in Java/Getters en Setters: verschil tussen versies

Verwijderde inhoud Toegevoegde inhoud
-/- lege eerste regel
DimiC88 (overleg | bijdragen)
Geen bewerkingssamenvatting
Label: bewerking met nieuwe wikitekstmodus
Regel 190:
Dit zijn maar voorbeelden, misschien zijn deze niet nodig in de gevallen waar jij een ''getter'' of ''setter'' aanmaakt voor een array of zijn er andere/betere manieren om arrays te beschermen tegen ongewenste aanpassingen.
 
== Combinatie van gegevens of berekende gegevens ==
''Getters'' en ''setters'' moeten ook niet verplicht één op één gelinkt zijn met een veld. Je kunt een ''getter'' maken die gegevens combineert of berekening doet op gegevens van een klasse om dat als resultaat terug te geven. Je kunt ook ''setters'' gebruiken om niet één veld aan te passen maar ook meerdere velden, enzoverder. Maar het basis principe blijft hetzelfde, ''getters'' dienen om gegevens op te hallen en ''setters'' om gegevens in te stellen.
 
Stel je heb volgende ''Persoon'' klasse.
<syntaxhighlight lang=Java>
public class Person {
private String firstName;
private String lastName;
 
public Person(String firstName, String lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
 
public String getFirstName() {
return firstName;
}
 
public void setFirstName(String firstName) {
this.firstName = firstName;
}
 
public String getLastName() {
return lastName;
}
 
public void setLastName(String lastName) {
this.lastName = lastName;
}
}
</syntaxhighlight>
Als we nu de volledige naam van iemand willen hebben, dus de voornaam samen met de achternaam, moeten we twee maal een ''getter'' oproepen. Namelijk ''getFirstName'' en ''getLastName''. Als je dan vaak de volledige naam nodig hebt, heb je véél dubbele code. Je kunt dan een getter toevoegen die een ''String'' meegeeft met de volledige naam. Bijvoorbeeld als volgt.
 
<syntaxhighlight lang=Java highlight=26-28>
public class Person {
private String firstName;
private String lastName;
 
public Person(String firstName, String lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
 
public String getFirstName() {
return firstName;
}
 
public void setFirstName(String firstName) {
this.firstName = firstName;
}
 
public String getLastName() {
return lastName;
}
 
public void setLastName(String lastName) {
this.lastName = lastName;
}
 
public String getFullName() {
return firstName + " " + lastName;
}
}
</syntaxhighlight>
 
Dit werkt natuurlijk ook in de andere richting, je kunt een setter toevoegen voor de voor- en achternaam in één keer te letten.
<syntaxhighlight lang=Java>
public void setFullName(String firstName, String lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
</syntaxhighlight>
 
== Getters en Setters laten generen door een IDE ==
Informatie afkomstig van https://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.