Baixe o app para aproveitar ainda mais
Prévia do material em texto
Software orientado a objetos 1) Analise o trecho de código a seguir: Funcionario func = new Funcionario(); É correto afirmar que, nesse contexto, existe: Alternativas: Um objeto chamado Funcionario, que deriva de uma classe chamada func. Uma classe chamada Funcionario e um objeto denominado func, que está sendo criado nesse instante. checkCORRETO Duas classes chamadas Funcionario, porém apenas a segunda está apta a receber parâmetros. Uma classe chamada Funcionario e um objeto de mesmo nome, mas o segundo apto a receber parâmetros utilizando o método construtor. Uma classe chamada func e um objeto chamado Funcionario, que receberá parâmetros entre seus parênteses. Resolução comentada: a estrutura de instanciação de uma classe é: NomeDaClasse nomeDoObjeto = new NomeDaClasse();. Código da questão: 38337 2) Considere o trecho de código a seguir: Fonte: elaborado pelo autor. Assinale a alternativa correta: Alternativas: Nesse trecho, ocorreu um polimorfismo do tipo sobrecarga. checkCORRETO Nesse trecho, ocorreu um polimorfismo do tipo sobrecarga, mas foi omitida a notação @override. https://ava.ksms.com.br/m/aluno/index/2124267 Nesse trecho, ocorreu um polimorfismo do tipo inclusão, tornando desnecessária a notação @Override. Nesse trecho, ocorreu um polimorfismo do tipo paramétrico, que é similar ao polimorfismo de sobreposição. Nesse trecho, ocorreu um polimorfismo do tipo sobreposição, mas foi omitida a notação @Override. Resolução comentada: polimorfismos do tipo sobrecarga possuem o mesmo nome, mesmo que as assinaturas sejam distintas em quantidade (e devem ser obrigatoriamente distintas em tipos de dados). Código da questão: 38366 3) Ao utilizar os métodos getters e setters, existe uma mudança na forma como os objetos fazem acesso ou modificam os atributos. Assinale a alternativa, a seguir, que aponta a forma correta de fazê-lo (considere p como o objeto em questão): Alternativas: Forma: p.getCampo();. checkCORRETO Forma: p.setter(parâmetros). Forma: p.setter(parâmetros);. Forma: p.SetterCampo;. Forma: p.getSet;. Resolução comentada: todo método, por padrão, possui parênteses em sua estrutura. No caso do método get, não passa parâmetros, pois trata-se apenas do resgate de dados. Código da questão: 38347 4) As convenções, na programação, são regras pré-estabelecidas que, em geral, apontam as boas práticas de desenvolvimento para determinada linguagem. Por convenção, considera-se como uma boa prática: Alternativas: Que nenhum método possua encapsulamento público. Que nenhum atributo possua encapsulamento público. Que todas as classes iniciem com letras maiúsculas. checkCORRETO Que todos os projetos sejam armazenados na raiz do disco rígido. Que os métodos e atributos possuam os devidos encapsulamentos. Resolução comentada: todas as classes devem iniciar com letra maiúscula e recomenda-se, ainda, que adotem o padrão Camel Case. Código da questão: 38342 5) Em se tratando da linguagem Java, e quanto ao tema herança, podemos afirmar que: I - Java não aceita herança múltipla. II - Java aceita herança de herança. III - Java realiza herança por meio da palavra reservada extends. IV - No código, a classe herdeira vem escrita depois da classe que transfere as propriedades. Está correto apenas o que se afirmar em: Alternativas: III e IV. I; II; III e IV. I; III e IV. I; II e III. checkCORRETO I e IV. Resolução comentada: uma classe só pode herdar diretamente de outra classe. Caso haja a necessidade de uma classe herdar de duas ou mais classes, realiza-se o processo de herança de herança (por meio da palavra extends). Código da questão: 38352 6) Sobre os algoritmos, assinale a alternativa que contém uma definição adequada: Alternativas: A programação estruturada, por demandar mais linhas de programação, reduz a complexidade de seus algoritmos, convertendo-os em pseudocódigos. Existem algoritmos para qualquer ação realizada dentro da programação orientada a objetos e procedural, mas não na programação estruturada. Dentro da POO, um algoritmo é uma sequência de comandos lógicos, enquanto na programação procedural é uma sequência de dados. Um algoritmo é uma estrutura computacional atrelada diretamente à POO. Um algoritmo é uma sequência lógica de passos finitos para se resolver determinado problema. checkCORRETO Resolução comentada: todos os paradigmas de programação possuem algoritmos, que são uma sequência lógica e finita de comandos para se resolver determinado problema. Código da questão: 38326 7) Julgue as asserções abaixo, bem como a relação entre elas: I. Java possui várias palavras reservadas em sua estrutura. A palavra import, por exemplo, tem como função importar classes de um pacote externo ao pacote em uso. E ESSE PROCESSO II. Ocorre quando é necessário que a classe, em execução, seja uma classe pai daquela que se espera consumir as propriedades. Considerando as afirmativas acima, assinale a alternativa correta: Alternativas: A primeira afirmativa está correta e a segunda justifica a primeira. A primeira afirmativa está correta, mas a segunda está incorreta. checkCORRETO Apenas a segunda afirmativa está correta. Ambas afirmativas estão incorretas. Ambas afirmativas estão corretas, mas uma não é justificativa da outra. Resolução comentada: O import serve justamente para importar classes de outros pacotes, a fim de que sejam usados em uma classe em execução. Ao ser realizada essa importação, subentende-se que a classe que utilizará a classe importada será uma classe-filha e não uma classe-pai. Código da questão: 38356 8) Considere o seguinte trecho de código: Fonte: elaborado pelo autor. Para que cada método fosse corretamente alimentado com um dado, seria necessário enviar parâmetros, obedecendo as seguintes premissas: Alternativas: Um valor true/false e um valor inteiro entre 0 e 1 (binário). Um valor true e false e um valor maior que zero. Um valor do tipo true/false e qualquer valor numérico. Um valor true e false ou um valor inteiro. Um valor true ou false e um valor inteiro. checkCORRETO Resolução comentada: o primeiro método espera um valor booleana: ou true ou false. O segundo método espera um valor inteiro, seja ele maior ou menor que zero. Código da questão: 38365 9) No polimorfismo de inclusão, um método atribui ______________________, desde que haja a herança previamente declarada. Assinale a alternativa que preenche corretamente a lacuna acima: Alternativas: A instância de uma superclasse à instância de uma classe pai. A instância da classe filha à instância da classe pai. A instância da classe pai à instância da classe filha. checkCORRETO A instância de uma subclasse à instância de uma classe filha. A instância do objeto da classe herdeira à instância do objeto de uma subclasse. Resolução comentada: a classe filha assume a instância da classe pai. Código da questão: 38362 10) Analise o trecho de código a seguir: Fonte: elaborado pelo autor. Sabe-se certamente que ambos os métodos, sobrecarregados, emitirão um retorno após seu processamento. Esse retorno: Alternativas: Será vazio para ambos os métodos. checkCORRETO Será do tipo booleano para apenas um dos métodos. Será do tipo booleano para o primeiro método e do tipo inteiro para o segundo método. Serão de tipos diferentes para ambos os métodos envolvidos na sobrecarga. Será do tipo inteiro para apenas um dos métodos. Resolução comentada: quando um método é declarado como void, tem o retorno vazio, ainda que esteja sobrecarregado. Código da questão: 38370
Compartilhar