5
respostas

Duvida

Estou analisando errado ou o código da questão A e da questão C são os mesmo ? ou não estou conseguindo perceber o erro.

Questão A;

public void getNome(){ return this.nome; }

public void getMatricula(){ return this.matricula; }

public String setMatricula(String matricula){ this.matricula = matricula; }

public String setNome(String nome){ this.nome = nome; }

Questão C:

public String getNome(){ return this.nome; }

public String getMatricula(){ return this.matricula; }

public void setMatricula(String matricula){ this.matricula = matricula; }

public void setNome(String nome){ this.nome = nome; }

5 respostas

Boa Tarde, Luiz Fernando tudo bem?

Os códigos não são os mesmos. A diferenca está justamente nos métodos "setter" das duas classes.

Note que na declaracao do método da questão A, você está pedindo para que o método retorne uma referência String. Neste caso além de dar um erro de compilacão, não é uma boa prática, segundo o conceito do encapsulamento retornar algo em métodos de modificacão.

Já o código da questão C, está correto. Parabéns!!!

Espero ter esclarecido sua dúvida! Obrigado e bons estudos.

Abracos

muito obrigado entendi onde estava errando, mas uma outra duvida, vejo pessoal quando vai falar sobre linguagem orientada a objeto com palavras, fiz uma referencia a um objeto, instanciei um objeto, criei um objeto, qual é forma correta de se falar e qual maneira deve ser evitado falar, poderia explicar ?

Boa noite! Creio que o objeto que usa determinada classe como molde é por si só uma instância dessa classe. Por exemplo, temos a classe Felino. Com os atributos e métodos dentro dessa classe, podemos criar um objeto semelhante a um gato ou tigre, sei lá.

Felino gato = new Felino();

O new está criando uma nova instância da classe Felino. A classe Felino é só a ideia, o gato, de fato, é o Felino. Com isso, estamos materializando um felino, instanciando-o(também é usado o termo criar por muitos). o termo "gato" é uma variável que passa a referenciar esse novo Felino, esse objeto. Ou seja, nessa linha instanciamos e referenciamos. Eu pesquisei isso há algum tempo, mas existem algumas discordâncias sobre o uso desses termos, mas o que sei dizer é que é comum usar instanciar um objeto, referenciar um objeto e criar um objeto. Acho que vale a pena dar uma pesquisada a fundo e ver as discussões sobre o que é instância enquanto termo e que é na prática.

Boa Noite, Luiz Fernando tudo bem?

Não esta errado você dizer assim, usando estas três formas que você mencionou no enunciado. Você provavelmente vai ouvir muitas pessoas dizerem a eu criei este objeto ou também eu tenho um objeto do tipo String, Funcionario entre outras.

Tem outras formas, mas uma que eu gosto mais é está aqui. Veja este exemplo:

Funcionario funcionario = new Funcionario();

A muitas formas que eu posso dizer, apenas olhando essa linha. Por exemplo, a "eu criei um objeto Funcionario e atribui ele a uma variável que referencia Funcionario", posso dizer também "criei um objeto Funcionario", "estou me referenciando à um Funcionario".

Espero ter esclarecido sua dúvida! Obrigado e bons estudos.

Abracos

Boa noite! Creio que o objeto que usa determinada classe como molde é por si só uma instância dessa classe. Por exemplo, temos a classe Felino. Com os atributos e métodos dentro dessa classe, podemos criar um objeto semelhante a um gato ou tigre, sei lá.

Felino gato = new Felino();

O new está criando uma nova instância da classe Felino. A classe Felino é só a ideia, o que a variável gato referencia, de fato, é um Felino. Com isso, estamos materializando um felino, instanciando-o(também é usado o termo criar por muitos). o termo "gato" é uma variável que passa a referenciar esse novo Felino, esse objeto. Ou seja, nessa linha instanciamos e referenciamos. Eu pesquisei isso há algum tempo, mas existem algumas discordâncias sobre o uso desses termos, mas o que sei dizer é que é comum usar instanciar um objeto, referenciar um objeto e criar um objeto. Acho que vale a pena dar uma pesquisada a fundo e ver as discussões sobre o que é instância enquanto termo e que é na prática.