Nem todo setter e obrigatorio pois pode ter valores que o usuario nao pode mudar de maneira nenhuma, mas getters e bom sempre ter para todos os atributos? ou e igual o setter?
Nem todo setter e obrigatorio pois pode ter valores que o usuario nao pode mudar de maneira nenhuma, mas getters e bom sempre ter para todos os atributos? ou e igual o setter?
Olá Italo! Tudo bem?,
Tanto Getters quanto Setters não são necessariamente obrigatórios.
O que nos força a utilizar esses métodos assessores é o encapsulamento dos atributos de uma classe.
Quando definimos os atributos como privados, não conseguimos trabalhar com eles em qualquer outra classe. Então esses métodos assessores (Getters e Setters) nos ajudam, possibilitando obter a informação armazenada nesses atributos ou altera-las.
Então depende sempre da nossa necessidade... por exemplo: Se temos alguns atributos em uma classe, mas não precisamos de alguma forma obter os dados armazenados nele ou alterá-lo de fora da classe, não precisaríamos nem de getters nem de setters nesse caso. Isso pode ocorrer se nós temos uma variável que existe unicamente para ser utilizada dentro da classe, servindo para algum cálculo em um método por exemplo.
Então o importante é entender quais atributos da classe vamos utilizar fora dela... se precisamos definir valores para esse atributo, vamos precisar dos set, e se vamos precisar obter os valores do atributo vamos precisar do get.
Vou deixar como recomendação de leitura tanto para esse assunto quanto para outros que você verá mais a frente, a apostila da Caelum sobre Java e Orientação a Objetos... é um excelente material que pode te ajudar bastante em dúvidas que podem surgir:
Apostila Caelum - Java e orientação a objetos: Getters e Setters
A explicação foi clara? Se eu puder te ajudar em mais alguma coisa é só falar!