java - Dúvida sobre a necessidade de usar get e set.
Perguntas � java � Dúvida sobre a necessidade de usar get e set.
Dúvida sobre a necessidade de usar get e set.
Minha pergunta é se eu estiver criando um programa como hobby, é necessário usar get e set? por que se vou ser só eu que vou mexer no código por que precisaria de tanta segurança.
Desculpe a "Ignorância" :]
criado 26 de mai de 2016
editado 26 de mai de 2016
é melhor usar sim, porque os getters e setters auxiliam no serviço, você vai programar de maneira mais rápida utilizando eles, além de ficar mais elegante e menos "tóxico" o seu código, tanto para você quanto para qualquer outra pessoa.
Tem como sim, fazer qualquer código sem usar getters e setters, mas como eu disse, isso dificulta o trabalho.
criado 27 de mai de 2016
Get e Set também são utilizados validar as entradas e saídas. Se é impossível o usuário, mesmo que só vc, digitar algo que possa bugar o sistema, então esquece e acesse os atributos diretamente...
Getters e setters quebram o encapsulamento fornecendo de maneira indiscriminada acesso aos atributos da sua classe. Opte em gerar getters/setters somente quando for necessário, não é regra criar getters/setter para cada atributo da sua classe ao menos que essa classe seja manipulada por algum framework(Hibernate, Spring MVC, etc..) que exija que sua classe siga a especificação JavaBean.
Prefira instanciar suas classes diretamente pelo construtor, passando os atributos necessários, se ocorrer de muitos atributos(mais do que 7 é desencorajado, pesquise sobre The Magical Number Seven, Plus or Minus Two) utilize um Builder.
Leia mais aqui nos links abaixo:
Muito obrigado por todas as respostas, ajudou-me a continuar usando os getter and setters. Eu sempre usei mas me veio a dúvida de se seria necessário, então resolvi perguntar aqui. Também acho que seja uma boa prática usa-lo e como disse o (Thomas) fica mais elegante.
Eu sempre uso e pretendo sempre usar, era somente para tirar uma dúvida.
criado 28 de mai de 2016
editado 28 de mai de 2016
Não é a resposta que estava procurando? Procure outras perguntas com as tags java get ou faça a sua própria pergunta.