Um programador iniciante foi desenvolver um sistema de cadastro de clientes de uma loja. Essa loja precisa de 3 dados para realizar o cadastro: o nome, a idade e o cpf. O programador resolveu então criar uma classe na qual cada atributo seria um dado necessário para o cadastro do cliente.
O programador, por não ter tanto conhecimento em POO, acreditou que seria uma boa opção deixar todos os atributos da sua classe para acesso público, de forma que fosse mais fácil de acessar esses atributos.
Descreva possíveis erros que podem acontecer no cadastro de um cliente por causa dessa escolha do programador e comente uma possível melhoria nesse código.
Passo 1
Eai, tudo tranquilo?
Nessa questão, vamos analisar o código dado, comentar os seus erros e pensar em maneira de melhorar esse código.
Quando definimos um atributo como público, estamos dando livre acesso a ele fora do nosso código fonte. Isso significa que, quem for usufruir dessa classe, poderá modificar à vontade o valor dos atributos. Isso permitia que valores que, na prática, não possuem significado para nós poderiam ser passados para esses atributos, como uma idade negativa ou um cpf inválido.
Portanto, tornar esses membros públicos para que eles possam ser modificados mais facilmente foi uma péssima escolha.
Passo 2
Uma maneira na qual poderíamos melhorar esse código é tornando privado esses elementos e criando métodos (que poderiam ser públicos) para passar os valores para esses atributos. Como um método para verificar se o cpf recebido é válido e um método para analisar se o valor da idade é um valor coerente.
Resposta
Ei, a resposta está no passo a passo :)