Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Getter en Setter | Geavanceerde Klassen
Java Uitgebreid
course content

Cursusinhoud

Java Uitgebreid

Java Uitgebreid

1. Diepe Java-structuur
2. Methoden
3. String Geavanceerd
4. Klassen
5. Geavanceerde Klassen

book
Getter en Setter

De beste manier om de private access modifier te omzeilen

Alle Java-programmeurs gebruiken constructies genaamd getters en setters.

Getters en setters zijn methoden die een specifiek patroon volgen. Ze worden gebruikt om de private access modifier te omzeilen en velden vanuit een andere klasse effectief te manipuleren.

Wat doen getters en setters?

Eenvoudig gezegd stelt de setter ons in staat om een waarde toe te wijzen aan een specifiek veld dat beschermd wordt door de private access modifier, terwijl de getter ons in staat stelt om de waarde op te halen uit een veld dat beschermd wordt door de private access modifier.

De syntaxis voor een getter en een setter:

Main.java

Main.java

copy
123456789
// getter public fieldType getFieldName() { return field; } // setter public void setFieldName(fieldType field) { this.field = field; }

Zoals je in de bovenstaande code kunt zien, gebruiken we de naamgevingsconventie voor de methoden getFieldName() en setFieldName(). Dus als we een veld private String name hebben en we maken een getter en een setter met de namen getName() en setName() respectievelijk. Het is ook belangrijk om op te merken dat de getter een waarde retourneert van hetzelfde type als het name-veld, terwijl de setter een parameter accepteert van hetzelfde type als het name-veld.

Dit stelt ons in staat om toegang te krijgen tot velden die beschermd zijn door de private access modifier. Laten we een voorbeeld bekijken van het benaderen van een private veld uit de Person-klasse in de main-klasse:

Main.java

Main.java

copy
123456789101112131415161718192021
package com.example; public class Main { public static void main(String[] args) { Person bob = new Person(); bob.setName("Bob"); System.out.println(bob.getName()); } } class Person { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } }

Zoals je kunt zien, gebruiken we de setter om een waarde toe te wijzen aan het veld name, en vervolgens gebruiken we de getter om de waarde van het veld name op het scherm weer te geven. Let op de syntaxis van de getter en setter, evenals het feit dat het veld name in de klasse Person wordt beschermd door de private access modifier.

Constructor versus Getter/Setter

Wat is beter om te gebruiken: initialisatie via een constructor + het overschrijven van de methode toString(), of het gebruik van getters en setters?

Het is zeker beter om getters en setters te gebruiken om toegang te krijgen tot velden die beschermd zijn door de private access modifier. Dit biedt meer flexibiliteit in de code en verbetert de leesbaarheid ervan. Wanneer je het gebruik van de methode getName() in de code ziet, begrijp je direct dat deze methode het veld met de naam name ophaalt. Hetzelfde geldt wanneer je het gebruik van de methode setName() ziet; je begrijpt meteen dat je een specifieke waarde toewijst aan het veld voor het object van de klasse waarin het wordt gebruikt. Als anderen je code lezen, zullen ze blij zijn om getters en setters te zien.

Het is ook belangrijk op te merken dat elk veld zijn eigen getter en setter vereist. Als een klasse twee velden heeft die beschermd zijn door de private access modifier, moet de klasse één getter voor elk veld hebben, dus twee getters en twee setters. Laten we een voorbeeld bekijken waarin we een veld age toevoegen aan de klasse Person:

Main.java

Main.java

copy
12345678910111213141516171819202122232425262728293031
package com.example; public class Main { public static void main(String[] args) { Person bob = new Person(); bob.setName("Bob"); bob.setAge(27); System.out.println("Person's name: " + bob.getName() + ", Person's age: " + bob.getAge()); } } class Person { private String name; private int age; public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } }

Zoals je kunt zien, hebben we voor elk veld van de klasse Person één getter en één setter aangemaakt. In de main-methode hebben we de velden geïnitialiseerd met behulp van de setter en hun waarden op het scherm weergegeven met behulp van de getter. Het gebruik van deze methoden is zeer handig, en je zult ze in de toekomst vaak gebruiken.

1. Wat is het doel van het gebruik van getters en setters?

2. Wat is de syntaxis van een getter-methode in Java?

3. Wat is de syntaxis van een setter-methode in Java?

question mark

Wat is het doel van het gebruik van getters en setters?

Select the correct answer

question mark

Wat is de syntaxis van een getter-methode in Java?

Select the correct answer

question mark

Wat is de syntaxis van een setter-methode in Java?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 5. Hoofdstuk 5

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

course content

Cursusinhoud

Java Uitgebreid

Java Uitgebreid

1. Diepe Java-structuur
2. Methoden
3. String Geavanceerd
4. Klassen
5. Geavanceerde Klassen

book
Getter en Setter

De beste manier om de private access modifier te omzeilen

Alle Java-programmeurs gebruiken constructies genaamd getters en setters.

Getters en setters zijn methoden die een specifiek patroon volgen. Ze worden gebruikt om de private access modifier te omzeilen en velden vanuit een andere klasse effectief te manipuleren.

Wat doen getters en setters?

Eenvoudig gezegd stelt de setter ons in staat om een waarde toe te wijzen aan een specifiek veld dat beschermd wordt door de private access modifier, terwijl de getter ons in staat stelt om de waarde op te halen uit een veld dat beschermd wordt door de private access modifier.

De syntaxis voor een getter en een setter:

Main.java

Main.java

copy
123456789
// getter public fieldType getFieldName() { return field; } // setter public void setFieldName(fieldType field) { this.field = field; }

Zoals je in de bovenstaande code kunt zien, gebruiken we de naamgevingsconventie voor de methoden getFieldName() en setFieldName(). Dus als we een veld private String name hebben en we maken een getter en een setter met de namen getName() en setName() respectievelijk. Het is ook belangrijk om op te merken dat de getter een waarde retourneert van hetzelfde type als het name-veld, terwijl de setter een parameter accepteert van hetzelfde type als het name-veld.

Dit stelt ons in staat om toegang te krijgen tot velden die beschermd zijn door de private access modifier. Laten we een voorbeeld bekijken van het benaderen van een private veld uit de Person-klasse in de main-klasse:

Main.java

Main.java

copy
123456789101112131415161718192021
package com.example; public class Main { public static void main(String[] args) { Person bob = new Person(); bob.setName("Bob"); System.out.println(bob.getName()); } } class Person { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } }

Zoals je kunt zien, gebruiken we de setter om een waarde toe te wijzen aan het veld name, en vervolgens gebruiken we de getter om de waarde van het veld name op het scherm weer te geven. Let op de syntaxis van de getter en setter, evenals het feit dat het veld name in de klasse Person wordt beschermd door de private access modifier.

Constructor versus Getter/Setter

Wat is beter om te gebruiken: initialisatie via een constructor + het overschrijven van de methode toString(), of het gebruik van getters en setters?

Het is zeker beter om getters en setters te gebruiken om toegang te krijgen tot velden die beschermd zijn door de private access modifier. Dit biedt meer flexibiliteit in de code en verbetert de leesbaarheid ervan. Wanneer je het gebruik van de methode getName() in de code ziet, begrijp je direct dat deze methode het veld met de naam name ophaalt. Hetzelfde geldt wanneer je het gebruik van de methode setName() ziet; je begrijpt meteen dat je een specifieke waarde toewijst aan het veld voor het object van de klasse waarin het wordt gebruikt. Als anderen je code lezen, zullen ze blij zijn om getters en setters te zien.

Het is ook belangrijk op te merken dat elk veld zijn eigen getter en setter vereist. Als een klasse twee velden heeft die beschermd zijn door de private access modifier, moet de klasse één getter voor elk veld hebben, dus twee getters en twee setters. Laten we een voorbeeld bekijken waarin we een veld age toevoegen aan de klasse Person:

Main.java

Main.java

copy
12345678910111213141516171819202122232425262728293031
package com.example; public class Main { public static void main(String[] args) { Person bob = new Person(); bob.setName("Bob"); bob.setAge(27); System.out.println("Person's name: " + bob.getName() + ", Person's age: " + bob.getAge()); } } class Person { private String name; private int age; public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } }

Zoals je kunt zien, hebben we voor elk veld van de klasse Person één getter en één setter aangemaakt. In de main-methode hebben we de velden geïnitialiseerd met behulp van de setter en hun waarden op het scherm weergegeven met behulp van de getter. Het gebruik van deze methoden is zeer handig, en je zult ze in de toekomst vaak gebruiken.

1. Wat is het doel van het gebruik van getters en setters?

2. Wat is de syntaxis van een getter-methode in Java?

3. Wat is de syntaxis van een setter-methode in Java?

question mark

Wat is het doel van het gebruik van getters en setters?

Select the correct answer

question mark

Wat is de syntaxis van een getter-methode in Java?

Select the correct answer

question mark

Wat is de syntaxis van een setter-methode in Java?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 5. Hoofdstuk 5
some-alt