Olá, eu não consegui entender muito bem a diferença entre o Get e o Set, poderiam me explicar ? E se tiver algum link explicando sobre o assunto eu agradeço. ;)
Olá, eu não consegui entender muito bem a diferença entre o Get e o Set, poderiam me explicar ? E se tiver algum link explicando sobre o assunto eu agradeço. ;)
Oi, Gabriel!
Entendo que você esteja com dúvidas sobre os métodos Get e Set, eles são fundamentais quando falamos de encapsulamento em Orientação a Objetos, principalmente em Java. Vamos lá:
O método Get é utilizado quando queremos acessar o valor de um atributo de um objeto. No exemplo que você está estudando, temos o método getSaldo()
. Esse método retorna o valor do saldo da conta. Ou seja, se tivermos um objeto do tipo Conta e quisermos saber o saldo dessa conta, usaremos esse método.
Por outro lado, o método Set é usado quando queremos modificar o valor de um atributo de um objeto. No mesmo exemplo, temos o método setNumero(int numero)
. Esse método é usado para definir o número da conta. Se tivermos um objeto do tipo Conta e quisermos definir ou alterar o número dessa conta, usaremos esse método.
Agora, sobre o link que você pediu, eu recomendaria este artigo sobre Get e Set em Java: Artigo sobre Get e Set. Ele explica bem detalhadamente e com exemplos práticos sobre o assunto.
Sobre a questão do exercício, a resposta correta é a opção D "A classe não deveria ter o método setSaldo
". Isso porque, em um cenário real, não queremos que o saldo de uma conta possa ser definido arbitrariamente, certo? O saldo deve ser controlado apenas pelas operações de saque e depósito, por isso o método setSaldo
não deveria existir.
Espero ter ajudado e bons estudos!
edit: Um exemplo offline:
Vamos imaginar que você tem uma caixa de ferramentas. O "get" seria como olhar dentro da caixa para ver qual ferramenta está lá, sem mudar nada. O "set" seria como colocar uma nova ferramenta (um alicate de bico talvez?) ou trocar uma ferramenta da caixa. Então, "get" pega informações e "set" coloca ou muda informações.
Muito Obrigado! Consegui entender com o exemplo ;)