CodeGym /Blogue Java /Random-PT /Acessadores e Mutadores em Java
John Squirrels
Nível 41
San Francisco

Acessadores e Mutadores em Java

Publicado no grupo Random-PT
Antes de mergulharmos nesse conceito, você precisa estar ciente das classes e do encapsulamento em Java .

Encapsulamento em Java

Encapsulamento, como o nome sugere, é o processo de incluir dados e métodos como uma única unidade. Na programação orientada a objetos , os membros de dados de uma classe são privados para restringir o acesso direto a eles. Portanto, os membros de dados encapsulados não podem ser recuperados ou modificados sem uma maneira bem definida. Para isso, definimos métodos acessadores e mutadores em Java. Vamos dar uma olhada nesses métodos em detalhes.

O que são acessadores e mutadores em Java?

Acessadores

O nome do método acessador é orientado pela palavra “ acesso ” que permite ao usuário acessar as informações privadas em uma classe. Se você já ouviu falar do método “ get ” ou “ getters ”, é a mesma coisa que os acessadores. Os getters recuperam as variáveis ​​e constantes privadas para acessar fora do escopo de uma classe.

Sintaxe

Usamos a palavra-chave “ get ” para acessadores Java. Para acessar a variável “ name ” podemos usar o seguinte getter getName() . Para o exemplo do método de acesso, dê uma olhada no seguinte.

public class Student {

	private String name;
	
	public String getName() {
		return name;
	}
}
Observe que cada getter possui a palavra-chave “ get ” antes do nome da variável na assinatura do método e o tipo de retorno é o mesmo da variável a ser retornada. Como a variável “ name ” é do tipo “ String ”, então o método getter/accessor também retorna um “ String ”.

Mutadores

O método mutator em Java é conduzido pela palavra “mutate”, que significa literalmente modificar. Mutadores permitem que os usuários definam/mutem o valor de variáveis ​​privadas de um objeto de classe. No contexto da programação orientada a objetos, o método “ set ” ou “ setters ” também são conhecidos como mutadores. Os setters facilitam o encapsulamento, pois os membros de dados privados não podem ser modificados diretamente. Portanto, métodos setter/mutadores são usados ​​para atualizar o valor de uma variável fora do escopo da classe.

Sintaxe

Para mutadores, usamos a palavra-chave “ set ”. Cada setter é definido pela palavra-chave “set” seguida do nome da variável que precisa ser modificada. Aqui, usamos o setter setName() que recebe uma variável do tipo String como parâmetro.

public class Student {

	private String name;

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

Por que precisamos de acessadores e modificadores?

Precisamos de getters e setters ou acessadores e mutadores para proteger informações confidenciais em uma classe. As informações são protegidas contra uso ilegal usando esses métodos padrão. Além disso, o conjunto de dados em um modificador também pode ser validado se atender a todos os requisitos de um programa.

Exemplos de acessador e modificador

Usando a classe de aluno abaixo, vamos ver os exemplos dos métodos acessadores e modificadores.

Exemplo


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

Saída

Biografia do Aluno [ Antes de usar os Acessadores e Mutadores ] Nome: nulo ID: nulo GPA: 0.0 DOB: nulo Cursos: nulo Biografia do Aluno [ Depois de usar Mutadores e Acessadores ] Nome: Alex Coy ID: 3115 GPA: 2.79 DOB: 08/08/1998 Cursos: [Programação Orientada a Objetos, Criptografia, Fotografia, Segurança de Redes]

Conclusão

Esta foi uma introdução rápida e um exemplo de acessadores e modificadores em Java. Você é aconselhado a criar seus próprios exemplos de amostra e testar esses métodos por conta própria. Como próximo exercício, você pode encontrar maneiras de adicionar getters e setters automaticamente pelo IDE. Descubra e deixe-nos saber!
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION