Jump to content

O que são getters e setters?


AprendizC
 Share

Recommended Posts

Basicamente são inputs e outputs. 😁

Agora em português, são conceitos de programação para introdução de dados e recepção dos mesmos. São conceitos utilizados essencialmente em classes, nas respectivas funções.

public String getName() {
  return this.name;
}

A palavra get, que em português significa obter dá uma melhor percepção ao programador do que o que realmente a função faz.

Repara, nessa função, está bem explícito que se quer obter o Nome da pessoa.

Para calculares as diferenças, repara na mesma função sem o get.

public String Name() {
  return this.name;
}

Se chamares esta função em algum lado, não terás a mínima da percepção do que ela faz..ou talvez terás hoje, mas daqui a 1 mês não fazes ideia. A função não te diz se retornas algum valor (por acaso diz por causa do tipo de dados - ver mais à frente); se introduzes algum valor; outra coisa qualquer.

Essencialmente um get irá sempre retornar algum valor, ao contrário do set que poderá ou não retornar algum valor.

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

Pontualmente poderás querer, aquando a inserção, retornar de imediato um valor. Continuará a função a ser um set e não um get, por prioridades.

public int setName(String new_name) {
  this.name = new_name;
  return this.name.length();
}

Deves ter em atenção ao tipo de dados de cada função. Nesta última função como retornei um inteiro a mesma é do tipo int. Se apenas te interessa inserir conteúdo e não retornar qualquer valor o tipo de dados deve ser do tipo void.

Link to comment
Share on other sites

Bom dia,

Os getters e setters são métodos de acesso públicos aos dados que são encapsulados nos objetos.

O encapsulamento de dados não permite aceder directements em leitura ou escritura aos dados privados .

Exige de passar por métodos de acesso, geeters e setters públicos.

geeters e setters foi standardisado na especificação para a arquitetura de componentes JavaBeans pela SUN Microsystems desde 1996 data em que eu comecei a programar em JAVA.

Este documento oficial da SUN Microsystems descreve os Beans... PDF explica tudo o que você deve saber sobre acesso as propriedades dos objetos, veja ao capítulo :

8.3 Design Patterns for Properties http://objetjava.online.fr/jlvre2/

Exemplo:

package pack;
public class MeuJavaBean {

/**
 * encapsulamento de dados privados
 */
private int var1=2;
private String nome;
private boolean verdade;


/**
 *
 * Os métodos de acesso a dados privados
 */
public int getVar1() {
 return var1;
}
public void setVar1(int var1) {
 this.var1 = var1;
}
public String getNome() {
 return nome;
}
public void setNome(String nome) {
 this.nome = nome;
}
public boolean isVerdade() {
 return verdade;
}
public void setVerdade(boolean verdade) {
 this.verdade = verdade;
}
}

Programação exige muito rigor...não podemos confundir os conceitos. Mesmo à custa de não ser-mos compreendidos.

Em Java não há nenhuma função, mas sim os métodos de instância e métodos de classe (static).

Java é uma linguagem orientada a objetos e baseada em classes e não uma linguagem procedural ou funcional.

Por autro lado não faz parte do padrão getters et setters do "Design Patterns for Properties" : public int setName(String new_name)

Cordialmente

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.