CodeGym /Java-blogg /Tilfeldig /Tilbehør og mutatorer i Java
John Squirrels
Nivå
San Francisco

Tilbehør og mutatorer i Java

Publisert i gruppen
Før vi dykker ned i dette konseptet, må du være klar over klasser og innkapsling i Java .

Innkapsling i Java

Innkapsling, som navnet antyder, er prosessen med å omslutte data og metoder som en enkelt enhet. I objektorientert programmering blir datamedlemmene i en klasse gjort private for å begrense direkte tilgang til dem. Så de innkapslede datamedlemmene kan ikke hentes eller endres uten en riktig definert måte. For dette definerer vi tilgangs- og mutatormetoder i Java. La oss se nærmere på disse metodene.

Hva er accessorer og mutatorer i Java?

Tilbehør

Accessormetodens navn er drevet av ordet " tilgang " som lar brukeren få tilgang til den private informasjonen i en klasse. Hvis du noen gang har hørt om " get "-metoden eller " getters ", er det det samme som tilbehør. Getterne henter de private variablene og konstantene for å få tilgang utenfor omfanget av en klasse.

Syntaks

Vi bruker søkeordet " get " for Java-tilbehør. For å få tilgang til variabelen “ navn ” kan vi bruke følgende getter getName() . For eksempelet til tilgangsmetoden, ta en titt på følgende.

public class Student {

	private String name;
	
	public String getName() {
		return name;
	}
}
Vær oppmerksom på at hver getter har nøkkelordet " get " før variabelnavnet i metodesignaturen, og returtypen er den samme som for variabelen som skal returneres. Siden variabelen " navn " er av typen " String ", så returnerer getter/accessor-metoden også en " String ".

Mutatorer

Mutatormetoden i Java er drevet av ordet "mutere", som bokstavelig talt betyr å modifisere. Mutatorer lar brukerne angi/mutere verdien av private variabler til et klasseobjekt. I objektorientert programmeringssammenheng er " sett "-metoden eller " settere " også kjent som mutatorer. Settere forenkler innkapsling ettersom private datamedlemmer ikke kan endres direkte. Så settermetoder/mutatorer brukes til å oppdatere en variabels verdi utenfor klasseomfanget.

Syntaks

For mutatorer bruker vi nøkkelordet " sett ". Hver setter er definert av nøkkelordet "sett" etterfulgt av navnet på variabelen som må muteres. Her bruker vi setteren setName() som tar en strengtypevariabel som parameter.

public class Student {

	private String name;

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

Hvorfor trenger vi accessorer og mutatorer?

Vi trenger gettere og settere eller accessorer og mutatorer for å beskytte sensitiv informasjon i en klasse. Informasjonen er beskyttet mot ulovlig bruk ved å bruke disse standardmetodene. Dessuten kan datasettet i en mutator også valideres hvis det oppfyller alle kravene til et program.

Eksempler på tilbehør og mutatorer

Ved å bruke elevklassen nedenfor, la oss se på eksemplene på tilgangs- og mutatormetodene.

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

Produksjon

Studentbiografi [ Før bruk av tilbehør og mutatorer ] Navn: null ID: null GPA: 0.0 DOB: null Kurs: null Studentbiografi [ Etter bruk av mutatorer og tilbehør ] Navn: Alex Coy ID: 3115 GPA: 2.79 DOB: 08/08/1998 Kurs: [Objektorientert programmering, kryptografi, fotografi, nettverkssikkerhet]

Konklusjon

Dette var en rask introduksjon og eksempel på accessorer og mutatorer i Java. Du anbefales å lage dine egne eksempeleksempler og teste disse metodene selv. Som en neste øvelse kan du finne måter å legge til gettere og settere automatisk av IDE. Finn ut og gi oss beskjed!
Kommentarer
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION