0% acharam este documento útil (0 voto)
86 visualizações3 páginas

Os Metódos Comuns Getters e Setters PDF

Enviado por

Pedro Rocha
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
86 visualizações3 páginas

Os Metódos Comuns Getters e Setters PDF

Enviado por

Pedro Rocha
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF ou leia on-line no Scribd
Você está na página 1/ 3
‘96/05/2020 GGellers sellers | Wiki Programago Orienlaga a Objeto | Fandom Getters e setters << Anterior - Home - Préxima >> Os atributos de uma classe muito raramente sao publicos. Um atributo puiblico pode ser modificado a partir de qualquer onto do programa e a classe nao tem nenhum controle sobre as alteragdes em seu contetido e portanto nao pode garantir sua validade. Tomar um atributo piblico significa abrir mao do controle sobre esse atributo e isso vai completamente contra toda a filosofia € 0 objetivo da POO. Entéo o acesso direto aos atributos deve sempre ser restrito associando a eles os modificadores private ou protected. Isso impede que 0 conteddo dos atributos seja alterado sem o controle da classe. Por outro lado, atributos nao sao constantes e pode haver a necessidade de modificar seu contetido. Entao deve existir uma maneira permitir a alteragao do contetido dos atributos por entidades extemas a classe, desde que a classe tenha Controle suficiente sobre essa alteragao para poder garantir a validade do atributo. ‘Amaneira de resolver essa situagao é criar métodos especializados em dar um acesso controlado aos atributos. Estes métodos so chamados de getters e setters. O get de um atributo retoma o seu contetido e 0 set permite sua alteragéo. Note que se 0 setter de um atributo for 0 Ginico modo de uma entidade externa a classe modificar seu contetido, a classe pode implementar no setter qualquer validagao que seja necessaria © decidir se acelta ou nao a alteracao que esté sendo ‘eit, Veja 0 exemplo abaixo, usando a classe Pessoa. Exemplo: public class Pessoa { private String none; private int idades // Construtor public Pessoa(String vNone, int vIdade) { nome = vNome; idade = vIdade; } // Getters public String getNone() { return none; + public int getIdade() { return idade; } J/ Setters public void setNome(String value){ if(!value.istmpty()) nome = value; + public void setIdade(int value){ if(value >= @) idade = value; } } // classe Pessoa No exemplo acima, os dois atributos da classe séo privados, portanto nao é possivel ter acesso direto a eles de fora da classe. Apesar disso é possivel que outras classes possam obter o valor dos atributos através dos métodos getNome e getidade. Caso outra classe precise alterar 0 valor de algum atributo, isso & possivel usando os hitpstfpooperrotfandom.comipt-brivikiGetters_e setters 18 ‘96/05/2020 GGllers sellers | Wiki Programago Orienlaga a Objeto| Fandom métodos setNome ou setldade, desde que as condi¢des impostas pelos métodos sejam satisfeitas. O método setNome nao aceita uma string vazia e 0 método setidade nao aceita um valor negativo. Dicas e casos especia Editar Use o netbean: netbeans sabe como programar getters ¢ setters basicos, entdo deixe-o fazer isso. No arquivo fonte da classe, clique com 0 botéo direito em qualquer linha dentro da classe, mas fora de qualquer métado (por exemplo entre dots métodos), escolha a op¢do “Inserir cédigo" e depois "Getter ¢ setter”. O netbeans ird mostrar uma janela com todos os alributos da classe e entéo basta selecionar os atributos que o netbeans se encarrega de escrever 0 cédigo basico dos getters e setters para os selecionados. Mas cuidadol!! Nao va enfiando getters e setters publicos no programa sem necessidade, Sé faa se for realmente necessério ¢ depois de avaliar o impacto sobre o funcionamento da classe. Existem casos em que o atributo nao pode ter getters ou setters (pelo menos nao piblicos), por que isso acaba com os controles internos da classe, Um exemplo tipico & uma classe que gerencia uma conta corrente e tem como um de seus alributos o saldo da conta. A classe oferece métodos para depositar e para sacar dinheiro da conta e estes métodos atualizam o valor do saldo, Se o atributo para o saldo tiver um setter, todo esse mecanismo de depésitos e saques perde o sentido. Neste caso o saldo néo pode ter um setter. Uso interno: Alguns atributos podem ser necessarios apenas para controle intemo da classe e nao hé motivo para que sejam acessados externamente, Neste caso nao necessério (e nem aconselhavel) implementar getters e setters para eles, ou caso sejam implementados, devem ficar com acesso privado ou protegido. Sé oferega getters e/ou setters publicos se isso for realmente necessério. Read only: Se quiser que algum atributo seja apenas para leitura, basta tomar o setter dele privado e deixar o getter pubblico, Atributos “virtuais": Getters e setters ndo precisa necessariamente ter correspondéncia com os alributos declarados na classe. Considere o getter abaixo para a classe Pessoa: public class Pessoa { public String getFaixattaria() { if(idade <°12) return "Crianca"; else if(idade < 18) return “Adolescente” else return "Adulto"; } } // classe Pessoa Neste exemplo, nao existe realmente um atributo para a faixa etéria da pessoa, essa informagao ¢ calculada a partir da idade, Mas as outras classes nao sabem e nao precisam saber disso. Armadilha: Falando em informagées calculadas, um erro bastante comum para quem estd iniciando na POO é declarar atributos cujo conteddo 6 resultado de um célculo ou processo feito a partir de outros atributos. Se uma informagao 6 resultado de um célculo ou processo, entao deve ser implementado um método que retorne essa informagao e nao armazend-la em um atributo, assim como foi feito no exemplo anterior para a faixa etaria, hitpstfpooperrotfandom.comipt-brivikiGetters_e setters 28 ‘96/05/2020 GGllers sellers | Wiki Programago Orienlaga a Objeto| Fandom Links recomendados: Editar = Como no aprender Java e Orientagao a Objetos: getters e setters (Caelum) Disponivel em “htips:!/pooperrottifandom.com/pt-briwiki/Getters_e_setters?oldid=136" Categorias: ( Adicionar categoria ) © contetido da comunidade esté disponivel sob CC-BY-SA salvo indicago em contrério, hitpstfpooperrotfandom.comipt-brivikiGetters_e setters 38

Você também pode gostar

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy