Questão FC373282
Considere, abaixo, o trecho de código Java, que não apresenta erros, para uma classe que fará o teste da classe Funcionario. Considere que a classe Funcionario foi corretamente cri
Linguagens de Programação
FCC · 2019
Considere, abaixo, o trecho de código Java, que não apresenta erros, para uma classe que fará o teste da classe Funcionario. Considere que a classe Funcionario foi corretamente criada em condições ideais.
public class TesteFunc {
public static void main (String[ ] args){
Funcionario func1;
func1 = new Funcionario( );
func1.setMatricula (20171234);
func1.setNome("Ana Silvestry");
func1.setCargo("Analista de Tecnologia da Informação");
}
}
Com base no código e nos conceitos de orientação a objeto afirma-se, corretamente:
- Estão sendo armazenados valores nos objetos do método func1, instanciado a partir da interface sem parâmetros da classe Funcionario.
- Métodos destinados a armazenar valores nos atributos são conhecidos como métodos getters e aqueles que obtêm os valores armazenados são conhecidos como métodos setters.
- O Java organiza as classes dentro de interfaces. Uma interface reúne classes relacionadas. Além de organizar melhor os aplicativos e bibliotecas, a interface possibilita que várias classes sejam criadas com o mesmo nome sem que ocorram conflitos, uma vez que pertençam a interfaces diferentes.
- Como na classe Funcionario há pelo menos 3 objetos, deve haver um método get para cada um deles. Um destes métodos seria public void getterNome(String nome) { nome=this.nome; }.
- Como na classe Funcionario há pelo menos estes 3 atributos, deve haver um método setter para cada um deles. Um destes métodos seria public void setMatricula(int matricula) {this.matricula=matricula;}.
Mostrar resposta e comentário
Gabarito
Errado
Comentário do professor
A alternativa aponta corretamente que, diante de atributos na classe Funcionario, é necessário fornecer métodos de acesso para manter o encapsulamento. Isso significa declarar os atributos como privados e permitir leitura/escrita apenas por meio de métodos controlados.
Um método para atribuir valor a um atributo segue a convenção de nome setter — por exemplo, setMatricula. Sua assinatura inclui visibilidade public, tipo de retorno void e um parâmetro com o mesmo tipo do atributo (aqui, int).
Ao usar o mesmo nome de parâmetro do atributo, é preciso distinguir entre os dois: o identificador this referencia o atributo da instância. Assim, public void setMatricula(int matricula) { this.matricula = matricula; } atribui corretamente o valor recebido ao campo interno.
No código de teste, a chamada func1.setMatricula(20171234) invoca esse setter para armazenar a matrícula no objeto, preservando a integridade e a abstração dos dados.
Conteúdo do catálogo FC Concursos · Atualizado em