CodeGym /Java Blog /Random-IT /Accessori e mutatori in Java
John Squirrels
Livello 41
San Francisco

Accessori e mutatori in Java

Pubblicato nel gruppo Random-IT
Prima di approfondire questo concetto, è necessario essere consapevoli delle classi e dell'incapsulamento in Java .

Incapsulamento in Java

L'incapsulamento, come suggerisce il nome, è il processo di racchiudere dati e metodi come una singola unità. Nella programmazione orientata agli oggetti , i membri dati di una classe vengono resi privati ​​per limitare l'accesso diretto ad essi. Quindi i membri dei dati incapsulati non possono essere recuperati o modificati senza un modo adeguatamente definito. Per questo, definiamo metodi di accesso e mutatore in Java. Diamo un'occhiata a questi metodi in dettaglio.

Cosa sono gli accessori e i mutatori in Java?

Accessori

Il nome del metodo di accesso è guidato dalla parola " access " che consente all'utente di accedere alle informazioni private in una classe. Se hai mai sentito parlare del metodo " get " o " getter ", è la stessa cosa degli accessori. I getter recuperano le variabili private e le costanti per accedere al di fuori dell'ambito di una classe.

Sintassi

Usiamo la parola chiave " get " per gli accessori Java. Per accedere alla variabile “ name ” possiamo utilizzare il seguente getter getName() . Per l'esempio del metodo di accesso, dai un'occhiata a quanto segue.

public class Student {

	private String name;
	
	public String getName() {
		return name;
	}
}
Si prega di notare che ogni getter ha la parola chiave " get " prima del nome della variabile nella firma del metodo e il tipo restituito è lo stesso della variabile da restituire. Poiché la variabile " name " è di tipo " String ", anche il metodo getter/accessor restituisce una " String ".

Mutatori

Il metodo mutator in Java è guidato dalla parola "mutate", che letteralmente significa modificare. I mutatori consentono agli utenti di impostare/mutare il valore delle variabili private di un oggetto di classe. Nel contesto della programmazione orientata agli oggetti, il metodo " set " o " setter " sono noti anche come mutatori. I setter facilitano l'incapsulamento poiché i membri dei dati privati ​​non possono essere modificati direttamente. Quindi i metodi/mutatori setter vengono utilizzati per aggiornare il valore di una variabile al di fuori dell'ambito della classe.

Sintassi

Per i mutatori, usiamo la parola chiave " set ". Ogni setter è definito dalla parola chiave "set" seguita dal nome della variabile che deve essere mutata. Qui usiamo il setter setName() che accetta una variabile di tipo String come parametro.

public class Student {

	private String name;

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

Perché abbiamo bisogno di accessori e mutatori?

Abbiamo bisogno di getter e setter o accessori e mutatori per proteggere le informazioni sensibili in una classe. Le informazioni sono protette dall'uso illegale utilizzando questi metodi standard. Inoltre, il set di dati in un mutatore può anche essere convalidato se soddisfa tutti i requisiti di un programma.

Esempi di accessori e mutatori

Utilizzando la classe studente di seguito, diamo un'occhiata agli esempi dei metodi accessor e mutator.

Esempio


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()));
	}
}

Produzione

Biografia dello studente [ Prima di usare Accessori e mutatori ] Nome: null ID: null GPA: 0.0 Data di nascita: null Corsi: null Biografia dello studente [ Dopo aver usato Mutatori e accessori ] Nome: Alex Coy ID: 3115 GPA: 2.79 Data di nascita: 08/08/1998 Corsi: [Programmazione orientata agli oggetti, crittografia, fotografia, sicurezza di rete]

Conclusione

Questa è stata una rapida introduzione ed esempio di accessori e mutatori in Java. Ti consigliamo di creare i tuoi esempi di esempio e testare questi metodi per te stesso. Come esercizio successivo, puoi trovare modi per aggiungere getter e setter automaticamente dall'IDE. Scoprilo e facci sapere!
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION