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. ;)
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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 ;)