Prévia do material em texto
20/10/2019 UNIASSELVI - Centro Universitário Leonardo Da Vinci - Portal do Aluno - Portal do Aluno - Grupo UNIASSELVI https://portaldoalunoead.uniasselvi.com.br/ava/avaliacao/avaliacao_lista.php 1/3 Legenda: Resposta Certa Sua Resposta Errada 1. Programação é o processo de escrita, teste e manutenção de um programa de computador. A Programação Orientada a Objetos (POO) diz respe padrão de desenvolvimento que é seguido por muitas linguagens, como C# e Java. Com relação aos conceitos de programação orientada a objet implementação na linguagem Java, analise as afirmativas a seguir: I- Classes abstratas servem como modelo para outras classes que dela herdam e devem ser instanciadas utilizando a palavra reservada "new". II- Todas as classes em Java herdam, direta ou indiretamente, a classe Object. III- Interfaces podem ser utilizadas quando classes diferentes (não relacionadas) precisam de funcionalidades comuns (métodos) ou utilizam cons comuns. IV- Na linguagem Java, é possível haver polimorfismo por meio da implementação de herança entre classes. Agora, assinale a alternativa CORRETA: a) Somente a afirmativa II está correta. b) As afirmativas II, III e IV estão corretas. c) As afirmativas I e IV estão corretas. d) As afirmativas I e III estão corretas. 2. A linguagem de programação Java implementa o encapsulamento através de modificadores de visibilidade que podem ser colocados na frente de atributos e métodos. Com relação à utilização do encapsulamento na linguagem de programação Java, assinale a alternativa CORRETA: a) O modificador default permite o acesso padrão a todos dentro da mesma aplicação. b) O modificador private permite o acesso somente dentro do mesmo pacote. c) O modificador public não pode ser usado na frente de atributos. d) Um método com o modificador public não faz sentido em uma classe com o modificador default. 3. Uma das principais vantagens em se desenvolver um software utilizando o paradigma da orientação a objetos, é a reutilização de código-fonte, to mais legível e fácil de realizar manutenção. Neste sentido, podemos exemplificar a facilidade de manutenção com a necessidade de criar uma col uma tabela, gravando um valor fixo. Neste caso, basta alterar o método que realiza a inserção de registro nesta tabela, e o software está alterado que o método seja invocado por mais de uma classe. Analise o código-fonte a seguir e classifique V para as sentenças verdadeiras e F para as fa ( ) Devido à herança, a linha 31 está correta. ( ) A classe "Carro" herda o método "getNomeModelo()" da classe "Veiculo". ( ) A classe "Veiculo" herda os métodos com modificador "public" da classe "Carro". ( ) Ocorre uma relação de herança entre as duas classes, sendo que a classe "Carro" herda atributos e métodos da classe "Veiculo". Assinale a alternativa que apresenta a sequência CORRETA: a) V - V - V - F. b) V - F - F - V. c) V - V - F - V. d) F - V - F - F. 4. Por intermédio da herança, um dos pilares da programação orientada a objetos, é possível reaproveitarmos características e comportamentos já implementados em outras classes sem a necessidade de realizar a cópia de código-fonte. Com relação a esse conceito, classifique V para as sen verdadeiras e F para as falsas: ( ) Em uma superclasse, para acessar métodos da subclasse deve ser usada a instrução super. ( ) A implementação de herança múltipla em Java não é possível. ( ) Para definirmos um relacionamento de herança entre classes utilizamos a palavra reservada "derives". ( ) Uma subclasse herda os métodos da superclasse, entretanto, pode ter seus próprios métodos. Agora, assinale a alternativa que apresenta a sequência CORRETA: a) V - F - F - V. b) F - V - F - V. c) V - V - V - F. d) F - F - V - V. 5. O polimorfismo é caracterizado quando duas ou mais classes possuem o mesmo nome de método ou operação, e outra classe, abstrata, possui u com mesmo nome dos métodos das classes anteriores, podendo receber a invocação de qualquer um dos dois objetos (classes instanciadas), ex operação correta. Conforme exemplificado, a implementação de polimorfismo pode ocorrer através de uma classe abstrata, cujos métodos são de mas não definidos. Com relação ao código-fonte a seguir e ao polimorfismo da orientação a objetos, assinale a alternativa CORRETA: https://portaldoalunoead.uniasselvi.com.br/ava/notas/request_gabarito_n2.php?action1=RkxYMTU1NA==&action2=QURTMTc=&action3=NDU2NzUx&action4=MjAxOS8y&prova=MTM1MjgwNzM=#questao_1%20aria-label= https://portaldoalunoead.uniasselvi.com.br/ava/notas/request_gabarito_n2.php?action1=RkxYMTU1NA==&action2=QURTMTc=&action3=NDU2NzUx&action4=MjAxOS8y&prova=MTM1MjgwNzM=#questao_2%20aria-label= https://portaldoalunoead.uniasselvi.com.br/ava/notas/request_gabarito_n2.php?action1=RkxYMTU1NA==&action2=QURTMTc=&action3=NDU2NzUx&action4=MjAxOS8y&prova=MTM1MjgwNzM=#questao_3%20aria-label= https://portaldoalunoead.uniasselvi.com.br/ava/notas/request_gabarito_n2.php?action1=RkxYMTU1NA==&action2=QURTMTc=&action3=NDU2NzUx&action4=MjAxOS8y&prova=MTM1MjgwNzM=#questao_4%20aria-label= https://portaldoalunoead.uniasselvi.com.br/ava/notas/request_gabarito_n2.php?action1=RkxYMTU1NA==&action2=QURTMTc=&action3=NDU2NzUx&action4=MjAxOS8y&prova=MTM1MjgwNzM=#questao_5%20aria-label= 20/10/2019 UNIASSELVI - Centro Universitário Leonardo Da Vinci - Portal do Aluno - Portal do Aluno - Grupo UNIASSELVI https://portaldoalunoead.uniasselvi.com.br/ava/avaliacao/avaliacao_lista.php 2/3 a) Ao ser executada a classe "Teste", ocorrerá um erro designando que a instância da classe "Veiculo" nas linhas 19 e 20 são inválidas, pois rece instância de classes de outro tipo ("Carro" e "Caminhao"). b) A classe abstrata "Veiculo" referencia o comportamento das classes "Carro" e "Caminhao", e ao ser executada a classe "Teste", será impresso primeiramente a mensagem "Acelerando o carro...." e depois "Acelerando o caminhão....". c) As classes abstratas "Carro" e "Caminhao" referenciam o comportamento da classe "Veiculo", e ao ser executada a classe "Teste", será impres primeiramente a mensagem "Acelerando o caminhão...." e depois "Acelerando o carro....". d) Não existe polimorfismo implementado entre as classes do código-fonte apresentado. 6. Java é uma linguagem de programação interpretada orientada a objetos desenvolvida na década de 90 por uma equipe de programadores. Obser anexa que ilustra uma situação típica em que podemos aplicar o conceito de herança de classes em Java. Considerando os conceitos de program orientada a objetos, analise as sentenças a seguir: I- A classe FormaGeometrica, indicada pela letra A, é considerada a subclasse das classes contidas na área indicada pela letra B. II- Quadrado é uma classe filha da classe FormaGeometrica. III- A classe Triangulo implementa a interface FormaGeometrica. Agora, assinale a alternativa CORRETA: a) As sentenças I e II estão corretas. b) Somente a sentença I está correta. c) As sentenças II e III estão corretas. d) Somente a sentença II está correta. 7. Na linguagem de programação Java, existem os modificadores de acesso que fornecem visibilidade ou invisibilidade para classes, métodos ou atr Através destes modificadores de acesso, pode-se tornar um atributo acessível para outra classe, por exemplo, ou ainda torná-lo visível apenas de própria classe. Analise o código-fonte, escrito em linguagem de programação Java, a seguir e classifique V para as sentenças verdadeiras e F pa falsas: ( ) A classe "Carro" é visível em todas as demais classes da aplicação. ( ) Os atributos "codigo" e "modelo" são visíveis por todas as classes que delegarem a classe "Carro". ( ) O atributo "valor" é acessível apenas na subclasse do relacionamento de herança, se houver. ( ) O atributo "qtdePortas" é visível por todas as classes que delegarem a classe "Carro". Assinale a alternativa que apresenta a sequência CORRETA: https://portaldoalunoead.uniasselvi.com.br/ava/notas/request_gabarito_n2.php?action1=RkxYMTU1NA==&action2=QURTMTc=&action3=NDU2NzUx&action4=MjAxOS8y&prova=MTM1MjgwNzM=#questao_6%20aria-label=https://portaldoalunoead.uniasselvi.com.br/ava/notas/request_gabarito_n2.php?action1=RkxYMTU1NA==&action2=QURTMTc=&action3=NDU2NzUx&action4=MjAxOS8y&prova=MTM1MjgwNzM=#questao_7%20aria-label= 20/10/2019 UNIASSELVI - Centro Universitário Leonardo Da Vinci - Portal do Aluno - Portal do Aluno - Grupo UNIASSELVI https://portaldoalunoead.uniasselvi.com.br/ava/avaliacao/avaliacao_lista.php 3/3 a) F - V - F - F. b) V - V - V - F. c) V - F - F - V. d) V - F - V - V. 8. Os modificadores de acesso possuem o objetivo de tornar classes, métodos ou atributos visíveis ou invisíveis, facilitando o seu encapsulamento. C modificadores, podemos, por exemplo, liberar o acesso de um atributo de uma classe X por uma classe Y. Analise o código-fonte a seguir e classi para as sentenças verdadeiras e F para as falsas: ( ) O método "getCodigo()"da classe "Carro" é visível em todas as classes do pacote. ( ) O método "getCodigo()"da classe "Carro" é visível somente na subclasse de um relacionamento de herança. ( ) O método "getValor()"da classe "Carro" é visível somente na subclasse de um relacionamento de herança. ( ) O método "getModelo()"da classe "Carro" é visível somente dentro da própria classe "Carro". Assinale a alternativa que apresenta a sequência CORRETA: a) F - V - F - F. b) V - V - F - F. c) V - V - V - F. d) F - F - V - V. 9. A coesão é a característica que faz com que uma classe tenha somente uma responsabilidade dentro do sistema, o que faz com que a sua correç caso de erros ou a manutenção em caso de evolução, seja simplificada. No que se refere à coesão de uma classe, assinale a alternativa CORRET a) Uma classe coesa é, necessariamente, uma classe com alto acoplamento. b) A coesão, embora seja uma característica importante, não auxilia o encapsulamento de uma classe. c) Tanto a coesão quanto o encapsulamento são obtidos na linguagem de programação Java através do modificador de acesso private. d) Se uma classe tiver uma e somente uma responsabilidade, a probabilidade de esta sofrer manutenção diminui. 10.A linguagem de programação Java permite a definição de classes abstratas, que representam ferramentas poderosas na definição de relacionam herança e, consequente, reutilização e extensão de estado e comportamento. Com relação às classes abstratas da linguagem de programação J classifique V para as sentenças verdadeiras e F para as falsas: ( ) Uma classe abstrata somente pode ser instanciada a partir de um construtor abstrato. ( ) Uma classe abstrata não pode possuir métodos concretos. ( ) Os métodos concretos de uma classe abstrata podem ser reutilizados, sem alteração em suas subclasses. ( ) Em uma hierarquia de herança, a primeira classe abstrata deve prover implementação para os métodos abstratos. Agora, assinale a alternativa que apresenta a sequência CORRETA: a) V - V - F - V. b) V - F - F - V. c) V - V - F - F. d) F - F - V - F. https://portaldoalunoead.uniasselvi.com.br/ava/notas/request_gabarito_n2.php?action1=RkxYMTU1NA==&action2=QURTMTc=&action3=NDU2NzUx&action4=MjAxOS8y&prova=MTM1MjgwNzM=#questao_8%20aria-label= https://portaldoalunoead.uniasselvi.com.br/ava/notas/request_gabarito_n2.php?action1=RkxYMTU1NA==&action2=QURTMTc=&action3=NDU2NzUx&action4=MjAxOS8y&prova=MTM1MjgwNzM=#questao_9%20aria-label= https://portaldoalunoead.uniasselvi.com.br/ava/notas/request_gabarito_n2.php?action1=RkxYMTU1NA==&action2=QURTMTc=&action3=NDU2NzUx&action4=MjAxOS8y&prova=MTM1MjgwNzM=#questao_10%20aria-label=