CodeGym /Java blogg /Slumpmässig /Tillbehör och mutatorer i Java
John Squirrels
Nivå
San Francisco

Tillbehör och mutatorer i Java

Publicerad i gruppen
Innan vi dyker in i detta koncept måste du vara medveten om klasser och inkapsling i Java .

Inkapsling i Java

Inkapsling, som namnet antyder, är processen att innesluta data och metoder som en enda enhet. I objektorienterad programmering görs datamedlemmarna i en klass privata för att begränsa direkt åtkomst till dem. Så de inkapslade datamedlemmarna kan inte hämtas eller ändras utan ett korrekt definierat sätt. För detta definierar vi accessor- och mutatormetoder i Java. Låt oss ta en titt på dessa metoder i detalj.

Vad är accessorer och mutatorer i Java?

Tillbehör

Accessormetodens namn drivs av ordet " access " som tillåter användaren att komma åt den privata informationen i en klass. Om du någonsin har hört talas om " get "-metoden eller " getters ", är det samma sak som accessorer. Gettarna hämtar de privata variablerna och konstanterna för att komma åt utanför omfånget för en klass.

Syntax

Vi använder nyckelordet " get " för Java-accessoarer. För att komma åt variabeln " name " kan vi använda följande getter getName() . För accessormetodens exempel, ta en titt på följande.

public class Student {

	private String name;
	
	public String getName() {
		return name;
	}
}
Observera att varje getter har nyckelordet " get " före variabelnamnet i metodsignaturen och returtypen är densamma som den för variabeln som ska returneras. Eftersom variabeln " name " är av typen " String ", så returnerar getter/accessor-metoden också en " String ".

Mutatorer

Mutatormetoden i Java drivs av ordet "mutera", vilket bokstavligen betyder att modifiera. Mutatorer tillåter användare att ställa in/mutera värdet på privata variabler för ett klassobjekt. I det objektorienterade programmeringssammanhanget är " set "-metoden eller " sättare " också känd som mutatorer. Setters underlättar inkapsling eftersom privata datamedlemmar inte kan modifieras direkt. Så sättermetoder/mutatorer används för att uppdatera en variabels värde utanför klassomfånget.

Syntax

För mutatorer använder vi nyckelordet " set ". Varje sättare definieras av nyckelordet "set" följt av namnet på variabeln som behöver muteras. Här använder vi settern setName() som tar en strängtypvariabel som en parameter.

public class Student {

	private String name;

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

Varför behöver vi accessorer och mutatorer?

Vi behöver getters och sättare eller accessorer och mutatorer för att skydda känslig information i en klass. Informationen är skyddad från olaglig användning genom att använda dessa standardmetoder. Dessutom kan datamängden i en mutator också valideras om den uppfyller alla krav i ett program.

Exempel på accessorer och mutatorer

Genom att använda elevklassen nedan, låt oss titta på exemplen på accessor- och mutatormetoderna.

Exempel


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

Studentbiografi [ Innan du använder tillbehör och mutatorer ] Namn: null ID: null GPA: 0.0 DOB: null Kurser: null Studentbiografi [ Efter användning av mutatorer och tillbehör ] Namn: Alex Coy ID: 3115 GPA: 2.79 DOB: 1998-08-08 Kurser: [Objektorienterad programmering, kryptografi, fotografi, nätverkssäkerhet]

Slutsats

Detta var ett snabbt introduktion och exempel på accessorer och mutatorer i Java. Du rekommenderas att skapa dina egna exempel och testa dessa metoder själv. Som nästa övning kan du hitta sätt att lägga till getters och seters automatiskt av IDE. Ta reda på det och låt oss veta!
Kommentarer
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION