Buscar

Avaliação II - Individual - Programação Orientada a Objetos

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Na linguagem de programação Java existem vários métodos e classes, que nos auxiliam em várias áreas, sendo uma delas a parte de cálculos (como do número pi, do número de euler), no cálculo de funções trigonométricas (senos, cossenos, tangentes etc.) e outras funcionalidades. Sobre a classe/metódo “Math.Pow(i, j)”, analise as sentenças a seguir:
I – É um método da linguagem Java que calcula i elevado a j.
II – É um método da classe Math que calcula i elevado a j.
III – É um método que multiplica i por j.
IV – É um método que calcula o resto da divisão.
V – É um método que retorna o inteiro de uma divisão
 
Assinale a alternativa CORRETA:
A
As sentenças II e V estão corretas.
B
As sentenças I e II estão corretas.
C
As sentenças I e III estão corretas.
D
As sentenças I e IV estão corretas.
2Na linguagem de programação Java, uma boa prática de desenvolvimento de software é programar orientado a objetos, embora a linguagem permita a programação procedural. No paradigma da orientação a objetos, encapsulamento pode ser descrito como ocultar atributos, métodos ou classes. Isto é realizado através de alguns modificadores de visibilidade, os quais são implementados. Com relação a estes modificadores de visibilidade, assinale a alternativa CORRETA:
A
O modificador private fornece acesso a todas as classes da aplicação.
B
O motificador protected fornece visibilidade para todas as classes dentro do mesmo pacote.
C
O modificador default fornece visibilidade dentro da própria classe.
D
O modificador public para uma classe fornece visibilidade desta classe em todas as demais classes da aplicação.
3O conceito de classes abstrata, através de suas características especiais, fornece ao conceito de herança uma maior confiabilidade uma vez que as classes modeladas com herança precisam ser melhor idealizadas e projetadas. Dessa forma, avalie o código-fonte da classe "Competidor" e classifique V para as sentenças verdadeiras e F para as falsas: (1) package fontes; (2) public class Competidor{ (3) private int pais; (5) private String modalidade; (6) private boolean medalistaOlimpico; (7) (8) public void competir(String modalidade){ (9) System.out.println("É especialista em " + modalidade); (10) } (11) (12) public abstract void competirPor(int pais){ (13) System.out.println("O atleta compete por " + pais); (14) } (15) (16)} ( ) Existe um erro de sintaxe na linha (2) que é resolvido adicionando-se a palavra-chave "abstract", antes da palavra chave "Class". ( ) O método "competir(String modalidade)" está gerando um erro de sintaxe, e adicionando a palavra chave "abstract", antes da palavra-chave "void", resolverá o erro gerado. ( ) O método "competirPor(int pais)" está gerando um erro de sintaxe, resolvido eliminando-se a sua implementação, deixando-se apenas a sua assinatura. ( ) O método "competirPor(int pais)" está gerando um erro de sintaxe, e adicionando a palavra-chave abstract, antes da palavra- chave "Class", além de eliminar a sua implementação, deixando-se apenas a sua assinatura, resolverá o erro gerado. Assinale a alternativa que apresenta a sequência CORRETA:
A
V - F - F - V.
B
V - V - V - F.
C
F - F - V - V.
D
V - V - F - V.
4Os modificadores de acesso possuem o objetivo de tornar classes, métodos ou atributos visíveis ou invisíveis, facilitando o seu encapsulamento. Com estes 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 classifique V 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
V - V - F - F.
B
F - V - F - F.
C
V - V - V - F.
D
F - F - V - V.
5A utilização de classes abstratas permite uma maior confiabilidade na definição da hierarquia de herança, pois possui características especiais que impedem sua utilização de forma errônea por outros desenvolvedores. Considerando que as palavras sublinhadas na figura a seguir representam erros de compilação, classifique V para as sentenças e F para as falsas: ( ) Bastaria colocar a palavra reservada abstract na frente da palavra class para resolver todos os problemas da classe. ( ) Uma classe abstrata pode possuir métodos concretos. ( ) Somente classes abstratas podem possuir métodos abstratos. ( ) O primeiro método imprime() deve receber um parâmetro de qualquer tipo para que seu erro de compilação seja corrigido. Agora, assinale a alternativa que apresenta a sequência CORRETA:
A
V - F - F - V.
B
V - V - F - F.
C
F - V - V - F.
D
V - V - F - V.
6A programação orientada a objetos permite o desenvolvimento de códigos-fonte utilizando o encapsulamento, que evita ou diminui o acoplamento, dependência dos códigos-fonte, e aumenta a coesão, que é o princípio da responsabilidade única de um trecho de código-fonte ou um método, por exemplo. Além disso, o polimorfismo é outra vantagem da programação orientada a objetos, o qual possibilita a manutenção futura sem necessitar de muitas alterações. Com relação ao encapsulamento, assinale a alternativa CORRETA:
A
O polimorfismo apenas ocorre quando o modificador dos métodos da classe forem "protected".
B
O principal objetivo do polimorfismo é a capacidade de herdar métodos e classes para uma subclasse.
C
O polimorfismo possui a desvantagem de tornar as classes com maior quantidade de código-fonte.
D
O polimorfismo permite que um único nome de classe represente diferentes códigos-fonte.
7O polimorfismo é um mecanismo poderoso da programação orientada a objetos, pois permite que se adicionem novas funcionalidades a um software sem alterar partes desse mesmo software que já estejam funcionando. Com relação ao polimorfismo, classifique V para as sentenças verdadeiras e F para as falsas: ( ) O polimorfismo de sobreposição consiste na colocação de novos parâmetros em outro método que possua o mesmo nome de um método já existente. ( ) O polimorfismo paramétrico é altamente dependente da linguagem de programação, por este motivo nem todas as linguagens de programação orientadas a objetos o implementam. ( ) A sobrecarga permite redefinir completamente um método, substituindo-o nas classes que fizerem uso deste tipo de polimorfismo. ( ) As interfaces são uma maneira eficiente de implementar o polimorfismo. Agora, assinale a alternativa que apresenta a sequência CORRETA:
A
V - F - F - V.
B
V - V - V - F.
C
F - V - F - V.
D
V - V - F - V.
8
Encapsular, basicamente, significa ocultar. No caso específico do Java, são marcados com modificadores de visibilidade os atributos, métodos ou classes que desejamos encapsular. São quatro os modificadores de visibilidade da linguagem de programação Java. Considerando esses modificadores, assinale a alternativa INCORRETA:
A
Private: fornece acesso somente dentro da classe onde estiver declarado, no caso de atributos ou métodos.
B
Default: o modificador default é implementado simplesmente não colocando nenhum modificador na frente da classe, atributo ou método.
C
Public: fornece acesso dentro da aplicação onde estiver declarado, no caso de classes, atributos ou métodos. Quando marcamos uma classe como public, queremos dizer que esta será visível a todas as demais classes da aplicação.
D
Protected: este modificador indica que o método será visível na subclasse de um relacionamento de herança.
9Como regra geral, os atributos de uma classe devem ser ocultos dos demais objetos do sistema, com o objetivo de garantir o encapsulamento. Entretanto, caso algum destes atributos deva ser exposto, existem vários tipos de exposição, através dos métodos getters e setters. Com relação à utilização dos getters e setters em uma classe, classifique V para as sentenças verdadeiras e Fpara as falsas: I- Os métodos getters fornecem acesso de escrita a um atributo. II- Os métodos setters permitem que se altere o valor de um atributo de um objeto. III- Uma das vantagens dos setters é que se pode fazer a chamada dos mesmos sem instanciar o objeto onde eles estão. IV- Os métodos setters sempre devem retornar o valor que acabaram de passar ao atributo. Agora, assinale a alternativa CORRETA:
A
Somente a sentença II está correta.
B
Somente a sentença IV está correta.
C
As sentenças III e IV estão corretas.
D
As sentenças I e III estão corretas.
10Java é uma linguagem de programação interpretada orientada a objetos desenvolvida na década de 90 por uma equipe de programadores. Observe a figura 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 programação 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 tem como superclasse a classe 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
As sentenças I e III estão corretas.

Outros materiais