Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Getter e Setter | Classes Avançadas
Java Avançado

bookGetter e Setter

A Melhor Maneira de Contornar o Modificador de Acesso Private

Todos os programadores Java utilizam construções chamadas getters e setters.

Getters e setters são métodos que seguem um padrão específico. Eles são usados para contornar o modificador de acesso private e manipular campos de outra classe de forma eficaz.

O Que Fazem Getters e Setters

De forma simples, o setter permite atribuir um valor a um campo específico protegido pelo modificador de acesso private, enquanto o getter permite recuperar o valor de um campo protegido pelo modificador de acesso private.

A sintaxe para um getter e um setter:

Main.java

Main.java

copy
123456789
// getter public fieldType getFieldName() { return field; } // setter public void setFieldName(fieldType field) { this.field = field; }

Como pode ser visto no código acima, utilizamos a convenção de nomenclatura para os métodos getFieldName() e setFieldName(). Portanto, se tivermos um campo private String name e criarmos um getter e um setter com os nomes getName() e setName(), respectivamente. Vale ressaltar também que o getter retorna um valor do mesmo tipo do campo name, enquanto o setter recebe um parâmetro do mesmo tipo do campo name.

Isso nos permite acessar campos que estão protegidos pelo modificador de acesso private. Vamos analisar um exemplo de acesso a um campo private da classe Person na classe main:

Main.java

Main.java

copy
123456789101112131415161718192021
package com.example; public class Main { public static void main(String[] args) { Person bob = new Person(); bob.setName("Bob"); System.out.println(bob.getName()); } } class Person { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } }

Como pode ser observado, utilizamos o setter para definir um valor para o campo name, e em seguida utilizamos o getter para exibir o valor do campo name na tela. Atenção à sintaxe do getter e do setter, assim como ao fato de que o campo name na classe Person está protegido pelo modificador de acesso private.

Construtor vs Getter/Setter

Qual é melhor utilizar, inicialização por meio de um construtor + sobrescrita do método toString(), ou o uso de getters e setters?

É preferível utilizar getters e setters para acessar campos protegidos pelo modificador de acesso private. Isso proporciona maior flexibilidade ao código e melhora sua legibilidade. Ao visualizar o uso do método getName() no código, entende-se imediatamente que esse método recupera o campo chamado name. O mesmo ocorre ao visualizar o uso do método setName(), entende-se imediatamente que está sendo atribuído um valor específico ao campo para o objeto da classe em que é utilizado. Se outras pessoas lerem seu código, ficarão satisfeitas ao encontrar getters e setters.

Também é importante observar que cada campo requer seu próprio getter e setter. Se uma classe possui dois campos protegidos pelo modificador de acesso private, a classe deve ter um getter para cada campo, ou seja, dois getters e dois setters. Vamos analisar um exemplo em que adicionamos um campo age à classe Person:

Main.java

Main.java

copy
12345678910111213141516171819202122232425262728293031
package com.example; public class Main { public static void main(String[] args) { Person bob = new Person(); bob.setName("Bob"); bob.setAge(27); System.out.println("Person's name: " + bob.getName() + ", Person's age: " + bob.getAge()); } } class Person { private String name; private int age; public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } }

Como pode ser observado, foi criado um getter e um setter para cada campo da classe Person. No método main, os campos foram inicializados utilizando o setter e seus valores foram exibidos na tela utilizando o getter. O uso desses métodos é bastante conveniente, e serão utilizados com frequência no futuro.

1. Qual é o objetivo de utilizar getters e setters?

2. Qual é a sintaxe de um método getter em Java?

3. Qual é a sintaxe de um método setter em Java?

question mark

Qual é o objetivo de utilizar getters e setters?

Select the correct answer

question mark

Qual é a sintaxe de um método getter em Java?

Select the correct answer

question mark

Qual é a sintaxe de um método setter em Java?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 5. Capítulo 5

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Awesome!

Completion rate improved to 2.63

bookGetter e Setter

Deslize para mostrar o menu

A Melhor Maneira de Contornar o Modificador de Acesso Private

Todos os programadores Java utilizam construções chamadas getters e setters.

Getters e setters são métodos que seguem um padrão específico. Eles são usados para contornar o modificador de acesso private e manipular campos de outra classe de forma eficaz.

O Que Fazem Getters e Setters

De forma simples, o setter permite atribuir um valor a um campo específico protegido pelo modificador de acesso private, enquanto o getter permite recuperar o valor de um campo protegido pelo modificador de acesso private.

A sintaxe para um getter e um setter:

Main.java

Main.java

copy
123456789
// getter public fieldType getFieldName() { return field; } // setter public void setFieldName(fieldType field) { this.field = field; }

Como pode ser visto no código acima, utilizamos a convenção de nomenclatura para os métodos getFieldName() e setFieldName(). Portanto, se tivermos um campo private String name e criarmos um getter e um setter com os nomes getName() e setName(), respectivamente. Vale ressaltar também que o getter retorna um valor do mesmo tipo do campo name, enquanto o setter recebe um parâmetro do mesmo tipo do campo name.

Isso nos permite acessar campos que estão protegidos pelo modificador de acesso private. Vamos analisar um exemplo de acesso a um campo private da classe Person na classe main:

Main.java

Main.java

copy
123456789101112131415161718192021
package com.example; public class Main { public static void main(String[] args) { Person bob = new Person(); bob.setName("Bob"); System.out.println(bob.getName()); } } class Person { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } }

Como pode ser observado, utilizamos o setter para definir um valor para o campo name, e em seguida utilizamos o getter para exibir o valor do campo name na tela. Atenção à sintaxe do getter e do setter, assim como ao fato de que o campo name na classe Person está protegido pelo modificador de acesso private.

Construtor vs Getter/Setter

Qual é melhor utilizar, inicialização por meio de um construtor + sobrescrita do método toString(), ou o uso de getters e setters?

É preferível utilizar getters e setters para acessar campos protegidos pelo modificador de acesso private. Isso proporciona maior flexibilidade ao código e melhora sua legibilidade. Ao visualizar o uso do método getName() no código, entende-se imediatamente que esse método recupera o campo chamado name. O mesmo ocorre ao visualizar o uso do método setName(), entende-se imediatamente que está sendo atribuído um valor específico ao campo para o objeto da classe em que é utilizado. Se outras pessoas lerem seu código, ficarão satisfeitas ao encontrar getters e setters.

Também é importante observar que cada campo requer seu próprio getter e setter. Se uma classe possui dois campos protegidos pelo modificador de acesso private, a classe deve ter um getter para cada campo, ou seja, dois getters e dois setters. Vamos analisar um exemplo em que adicionamos um campo age à classe Person:

Main.java

Main.java

copy
12345678910111213141516171819202122232425262728293031
package com.example; public class Main { public static void main(String[] args) { Person bob = new Person(); bob.setName("Bob"); bob.setAge(27); System.out.println("Person's name: " + bob.getName() + ", Person's age: " + bob.getAge()); } } class Person { private String name; private int age; public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } }

Como pode ser observado, foi criado um getter e um setter para cada campo da classe Person. No método main, os campos foram inicializados utilizando o setter e seus valores foram exibidos na tela utilizando o getter. O uso desses métodos é bastante conveniente, e serão utilizados com frequência no futuro.

1. Qual é o objetivo de utilizar getters e setters?

2. Qual é a sintaxe de um método getter em Java?

3. Qual é a sintaxe de um método setter em Java?

question mark

Qual é o objetivo de utilizar getters e setters?

Select the correct answer

question mark

Qual é a sintaxe de um método getter em Java?

Select the correct answer

question mark

Qual é a sintaxe de um método setter em Java?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 5. Capítulo 5
some-alt