CodeGym/Java Blog/Willekeurig/Accessors en Mutators in Java
John Squirrels
Niveau 41
San Francisco

Accessors en Mutators in Java

Gepubliceerd in de groep Willekeurig
Voordat we ingaan op dit concept, moet u op de hoogte zijn van klassen en inkapseling in Java .

Inkapseling op Java

Inkapseling, zoals de naam al doet vermoeden, is het proces van het insluiten van gegevens en methoden als een enkele eenheid. Bij objectgeoriënteerd programmeren worden de gegevensleden van een klasse privé gemaakt om directe toegang ertoe te beperken. Dus de ingekapselde gegevensleden kunnen niet worden opgehaald of gewijzigd zonder een goed gedefinieerde manier. Hiervoor definiëren we accessor- en mutatormethoden in Java. Laten we deze methoden in detail bekijken.

Wat zijn accessors en mutators in Java?

Toebehoren

De naam van de accessor-methode wordt bepaald door het woord ' access ' waarmee de gebruiker toegang heeft tot de privé-informatie in een klasse. Als je ooit hebt gehoord van de " get " -methode of " getters ", is dit hetzelfde als accessors. De getters halen de privévariabelen en constanten op voor toegang buiten het bereik van een klasse.

Syntaxis

We gebruiken het trefwoord " krijgen " voor Java-accessors. Om toegang te krijgen tot de variabele " naam " kunnen we de volgende getter getName() gebruiken . Bekijk het volgende voor het voorbeeld van de accessor-methode.
public class Student {

	private String name;

	public String getName() {
		return name;
	}
}
Houd er rekening mee dat elke getter het sleutelwoord " get " heeft voor de naam van de variabele in de handtekening van de methode en dat het retourtype hetzelfde is als dat van de variabele die moet worden geretourneerd. Aangezien de variabele " name " van het type " String " is, retourneert de methode getter/accessor ook een " String ".

Mutators

De mutator-methode in Java wordt aangedreven door het woord "muteren", wat letterlijk wijzigen betekent. Met Mutators kunnen gebruikers de waarde van privévariabelen van een klasseobject instellen/muteren. In de context van objectgeoriënteerd programmeren worden de " set "-methode of " setters " ook wel mutators genoemd. Setters vergemakkelijken inkapseling omdat leden van privégegevens niet rechtstreeks kunnen worden gewijzigd. Setter-methoden/mutators worden dus gebruikt om de waarde van een variabele buiten het bereik van de klasse bij te werken.

Syntaxis

Voor mutators gebruiken we het sleutelwoord " set ". Elke setter wordt gedefinieerd door het trefwoord "set" gevolgd door de naam van de variabele die moet worden gemuteerd. Hier gebruiken we de setter setName() die een variabele van het type String als parameter gebruikt.
public class Student {

	private String name;

	public void setName(String name) {
		this.name = name;
	}
}

Waarom hebben we accessors en mutators nodig?

We hebben getters en setters of accessors en mutators nodig om gevoelige informatie in een klas te beschermen. De informatie wordt beschermd tegen onrechtmatig gebruik door deze standaardmethodes te gebruiken. Bovendien kan de dataset in een mutator ook worden gevalideerd als deze aan alle eisen van een programma voldoet.

Accessor- en Mutator-voorbeelden

Laten we met behulp van de onderstaande studentklasse naar de voorbeelden van de accessor- en mutatormethoden kijken.

Voorbeeld

import java.util.Arrays;

public class Student {

	private String name;
	private Integer ID;
	private String DOB;
	private double GPA;
	private String[] courses;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public Integer getID() {
		return ID;
	}

	public void setID(Integer iD) {
		this.ID = iD;
	}

	public String getDOB() {
		return DOB;
	}

	public void setDOB(String dOB) {
		this.DOB = dOB;
	}

	public double getGPA() {
		return GPA;
	}

	public void setGPA(double gPA) {
		this.GPA = gPA;
	}

	public String[] getCourses() {
		return courses;
	}

	public void setCourses(String[] courses) {
		this.courses = courses;
	}

	public static void main(String[] args) {

		Student student1 = new Student();

		System.out.println("Student Bio [ Before using Accessors & Mutators ]");

		// calling accessor methods
		System.out.print("Name: " + student1.getName());
		System.out.print("\tID: " + student1.getID());
		System.out.print("\tGPA: " + student1.getGPA());
		System.out.print("\tDOB: " + student1.getDOB());
		System.out.println("\tCourses: " +  Arrays.toString(student1.getCourses()));

		// calling mutator methods
		student1.setName("Alex Coy");
		student1.setID(3115);
		student1.setGPA(2.79);
		student1.setDOB("08/08/1998");
		String[] courses = { "Object Oriented Programming", "Cryptography", "Photography", "Network Security" };
		student1.setCourses(courses);

		System.out.println("\nStudent Bio [ After using Mutators & Accessors ]");

		// calling accessor methods
		System.out.print("Name: " + student1.getName());
		System.out.print("\tID: " + student1.getID());
		System.out.print("\tGPA: " + student1.getGPA());
		System.out.print("\tDOB: " + student1.getDOB());
		System.out.println("\tCourses: " + Arrays.toString(student1.getCourses()));
	}
}

Uitgang

Student Bio [ Voor gebruik van Accessors & Mutators ] Naam: null ID: null GPA: 0.0 Geboortedatum: null Cursussen: null Student Bio [ Na gebruik van Mutators & Accessors ] Naam: Alex Coy ID: 3115 GPA: 2.79 Geboortedatum: 08/08/1998 Cursussen: [Objectgericht programmeren, cryptografie, fotografie, netwerkbeveiliging]

Conclusie

Dit was een snelle introductie en voorbeeld van accessors en mutators in Java. U wordt geadviseerd om uw eigen voorbeeldvoorbeelden te maken en deze methoden zelf te testen. Als volgende oefening kun je manieren vinden om getters en setters automatisch toe te voegen door de IDE. Ontdek het en laat het ons weten!
Opmerkingen
  • Populair
  • Nieuw
  • Oud
Je moet ingelogd zijn om opmerkingen te kunnen maken
Deze pagina heeft nog geen opmerkingen