CodeGym /Java blog /Tilfældig /Tilbehør og mutatorer i Java
John Squirrels
Niveau
San Francisco

Tilbehør og mutatorer i Java

Udgivet i gruppen
Før vi dykker ned i dette koncept, skal du være opmærksom på klasser og indkapsling i Java .

Indkapsling i Java

Indkapsling er, som navnet antyder, processen med at omslutte data og metoder som en enkelt enhed. I objektorienteret programmering gøres datamedlemmerne i en klasse private for at begrænse direkte adgang til dem. Så de indkapslede datamedlemmer kan ikke hentes eller ændres uden en korrekt defineret måde. Til dette definerer vi accessor- og mutatormetoder i Java. Lad os se nærmere på disse metoder.

Hvad er accessorer og mutatorer i Java?

Tilbehør

Accessormetodens navn er drevet af ordet " adgang ", som giver brugeren adgang til de private oplysninger i en klasse. Hvis du nogensinde har hørt om " get " -metoden eller " getters ", er det det samme som accessorer. Getterne henter de private variabler og konstanter for at få adgang uden for en klasses omfang.

Syntaks

Vi bruger søgeordet " get " for Java-accessorer. For at få adgang til variablen " navn " kan vi bruge følgende getter getName() . For accessormetodens eksempel, se følgende.

public class Student {

	private String name;
	
	public String getName() {
		return name;
	}
}
Bemærk venligst, at hver getter har nøgleordet " get " før variabelnavnet i metodesignaturen, og returtypen er den samme som den for den variabel, der skal returneres. Da variablen " name " er af typen " String ", så returnerer getter/accessor-metoden også en " String ".

Mutatorer

Mutatormetoden i Java er drevet af ordet "mutere", som bogstaveligt betyder at modificere. Mutatorer giver brugerne mulighed for at indstille/mutere værdien af ​​private variabler i et klasseobjekt. I den objektorienterede programmeringssammenhæng er " sæt "-metoden eller " sættere " også kendt som mutatorer. Settere letter indkapsling, da private datamedlemmer ikke kan ændres direkte. Så seter-metoder/mutatorer bruges til at opdatere en variabels værdi uden for klassens omfang.

Syntaks

For mutatorer bruger vi nøgleordet " set ". Hver sætter er defineret af nøgleordet "sæt" efterfulgt af navnet på den variabel, der skal muteres. Her bruger vi setteren setName() , der tager en strengtypevariabel som parameter.

public class Student {

	private String name;

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

Hvorfor har vi brug for accessorer og mutatorer?

Vi har brug for gettere og sættere eller accessorer og mutatorer til at beskytte følsom information i en klasse. Oplysningerne er beskyttet mod ulovlig brug ved at bruge disse standardmetoder. Desuden kan datasættet i en mutator også valideres, hvis det opfylder alle kravene i et program.

Eksempler på accessorer og mutatorer

Ved at bruge elevklassen nedenfor, lad os se på eksemplerne på accessor- og mutatormetoderne.

Eksempel


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

Produktion

Student Bio [ Før brug af Accessors & Mutators ] Navn: null ID: null GPA: 0.0 DOB: null Kurser: null Student Bio [ Efter brug af Mutators & Accessors ] Navn: Alex Coy ID: 3115 GPA: 2.79 DOB: 08/08/1998 Kurser: [Objektorienteret programmering, kryptografi, fotografi, netværkssikkerhed]

Konklusion

Dette var en hurtig introduktion og eksempel på accessorer og mutatorer i Java. Du rådes til at lave dine egne prøveeksempler og afprøve disse metoder for dig selv. Som en næste øvelse kan du finde måder at tilføje gettere og sættere automatisk af IDE. Find ud af det og fortæl os det!
Kommentarer
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION