CodeGym/Blog Java/Random-FR/Accesseurs et mutateurs en Java
Auteur
Pavlo Plynko
Java Developer at CodeGym

Accesseurs et mutateurs en Java

Publié dans le groupe Random-FR
membres
Avant de plonger dans ce concept, vous devez connaître les classes et l'encapsulation en Java.

Encapsulation en Java

L'encapsulation, comme son nom l'indique, est le processus consistant à regrouper les données et les méthodes en une seule unité. Dans la programmation orientée objet , les données membres d'une classe sont rendues privées pour en restreindre l'accès direct. Ainsi, les membres de données encapsulés ne peuvent pas être récupérés ou modifiés sans un moyen correctement défini. Pour cela, nous définissons des méthodes d'accès et de mutation en Java. Voyons ces méthodes en détail.

Que sont les accesseurs et les mutateurs en Java ?

Accessoires

Le nom de la méthode d'accès est piloté par le mot " access " qui permet à l'utilisateur d'accéder aux informations privées d'une classe. Si vous avez déjà entendu parler de la méthode « get » ou « getters », c'est la même chose que les accesseurs. Les getters récupèrent les variables privées et les constantes pour accéder en dehors de la portée d'une classe.

Syntaxe

Nous utilisons le mot-clé « get » pour les accesseurs Java. Pour accéder à la variable « name », nous pouvons utiliser le getter suivant getName() . Pour l'exemple de la méthode accesseur, regardez ce qui suit.
public class Student {

	private String name;

	public String getName() {
		return name;
	}
}
Veuillez noter que chaque getter a le mot-clé « get » avant le nom de la variable dans la signature de la méthode et que le type de retour est le même que celui de la variable à retourner. Comme la variable « name » est de type « String », la méthode getter/accessor renvoie également une « String ».

Mutateurs

La méthode mutator en Java est pilotée par le mot « muter », qui signifie littéralement modifier. Les mutateurs permettent aux utilisateurs de définir/muter la valeur des variables privées d'un objet de classe. Dans le contexte de la programmation orientée objet, les méthodes « set » ou « setters » sont également appelées mutateurs. Les setters facilitent l'encapsulation car les membres de données privées ne peuvent pas être modifiés directement. Ainsi, les méthodes setter/mutators sont utilisées pour mettre à jour la valeur d'une variable en dehors de la portée de la classe.

Syntaxe

Pour les mutateurs, nous utilisons le mot-clé « set ». Chaque setter est défini par le mot-clé "set" suivi du nom de la variable qui doit être mutée. Ici, nous utilisons le setter setName() qui prend une variable de type String en paramètre.
public class Student {

	private String name;

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

Pourquoi avons-nous besoin d'accesseurs et de mutateurs?

Nous avons besoin de getters et de setters ou d'accesseurs et de mutateurs pour protéger les informations sensibles dans une classe. Les informations sont protégées contre l'utilisation illégale en utilisant ces méthodes standard. De plus, l'ensemble de données dans un mutateur peut également être validé s'il remplit toutes les exigences d'un programme.

Exemples d'accesseurs et de mutateurs

En utilisant la classe étudiant ci-dessous, regardons les exemples des méthodes accesseur et mutateur.

Exemple

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

Sortir

Bio de l'étudiant [ Avant d'utiliser les accesseurs et les mutateurs ] Nom : null ID : null GPA : 0,0 Date de naissance : null Cours : null Bio de l'étudiant [ Après avoir utilisé les mutateurs et les accesseurs ] Nom : Alex Coy ID : 3115 GPA : 2,79 Date de naissance : 08/08/1998 Cours : [Programmation Orientée Objet, Cryptographie, Photographie, Sécurité Réseau]

Conclusion

C'était une introduction rapide et un exemple d'accesseurs et de mutateurs en Java. Il vous est conseillé de créer vos propres exemples d'exemples et de tester ces méthodes par vous-même. Dans un prochain exercice, vous pouvez trouver des moyens d'ajouter automatiquement des getters et des setters par l'IDE. Découvrez et faites-le nous savoir !
Commentaires
  • Populaires
  • Nouveau
  • Anciennes
Tu dois être connecté(e) pour laisser un commentaire
Cette page ne comporte pas encore de commentaires