CodeGym/Java блог/Случаен/Аксесоари и мутатори в Java
John Squirrels
Ниво
San Francisco

Аксесоари и мутатори в Java

Публикувано в групата
Преди да се потопим в тази концепция, трябва да сте наясно с класовете и капсулирането в Java .

Капсулация в Java

Капсулирането, Howто подсказва името, е процес на затваряне на данни и методи като едно цяло. В обектно-ориентираното програмиране членовете на данните на даден клас се правят частни, за да се ограничи директният достъп до тях. Така че капсулираните членове на данните не могат да бъдат извлечени or модифицирани без правилно дефиниран начин. За тази цел ние дефинираме методи за достъп и мутатор в Java. Нека да разгледаме подробно тези методи.

Какво представляват аксесорите и мутаторите в Java?

Аксесоари

Името на метода за достъп се ръководи от думата „ достъп “, която позволява на потребителя достъп до личната информация в клас. Ако някога сте чували за метода “ get ” or “ getters ”, това е същото нещо като accessors. Гетерите извличат частните променливи и константи за достъп извън обхвата на класа.

Синтаксис

Ние използваме ключовата дума „ get ” за Java accessors. За достъп до променливата “ име ” можем да използваме следния гетър getName() . За пример на метода за достъп вижте следното.
public class Student {

	private String name;

	public String getName() {
		return name;
	}
}
Моля, обърнете внимание, че всеки инструмент за получаване има ключовата дума „ get ” преди името на променливата в сигнатурата на метода и типът на връщането е същият като този на променливата, която трябва да бъде върната. Тъй като променливата „ name ” е от тип „ String ”, методът getter/accessor също връща „ String ”.

Мутатори

Методът на мутатор в Java се ръководи от думата „мутиране“, което буквално означава модифициране. Мутаторите позволяват на потребителите да задават/променят стойността на частни променливи на обект от клас. В контекста на обектно-ориентираното програмиране, методът “ set ” or “ setter ” са известни също като мутатори. Сетерите улесняват капсулирането, тъй като частните членове на данните не могат да се променят директно. Така че методите/мутаторите на сетер се използват за актуализиране на стойността на променлива извън обхвата на класа.

Синтаксис

За мутатори използваме ключовата дума „ set “. Всеки сетер се определя от ключовата дума „set“, последвана от името на променливата, която трябва да бъде мутирана. Тук използваме сетера setName() , който приема променлива тип String като параметър.
public class Student {

	private String name;

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

Защо се нуждаем от аксесоари и мутатори?

Имаме нужда от гетери и сетери or аксесори и мутатори, за да защитим чувствителната информация в клас. Информацията е защитена от незаконна употреба чрез използване на тези стандартни методи. Освен това наборът от данни в мутатор също може да бъде валидиран, ако отговаря на всички изисквания на програмата.

Примери за достъп и мутатор

Използвайки студентския клас по-долу, нека да разгледаме примерите за методите за достъп и мутатор.

Пример

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

Изход

Биография на ученик [ Преди да използвате Accessors & Mutators ] Име: null ID: null GPA: 0.0 DOB: null Курсове: null Биография на ученик [ След използване на Mutators & Accessors ] Име: Алекс Кой ID: 3115 GPA: 2,79 DOB: 08/08/1998 Курсове: [Обектно ориентирано програмиране, криптография, фотография, мрежова сигурност]

Заключение

Това беше кратко въведение и пример за аксесоари и мутатори в Java. Съветваме ви да създадете свои собствени примерни примери и да тествате тези методи за себе си. Като следващо упражнение можете да намерите начини за автоматично добавяне на гетери и сетери от IDE. Разберете и ни уведомете!
Коментари
  • Популярен
  • Нов
  • Стар
Трябва да сте влезли, за да оставите коментар
Тази страница все още няма коментари