Buscar

Avaliação II - Individual Semipresencial (Programação Orientada a Objetos)(ADS17)

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 6 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

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 6, do total de 6 páginas

Prévia do material em texto

1. Em combinação com a definição de pacotes e classes, os modificadores de 
visibilidade constituem-se de uma ferramenta poderosa na definição da segurança e 
encapsulamento da aplicação. Com relação à utilização de modificadores de 
visibilidade na linguagem de programação Java, analise as sentenças a seguir: 
 
I- Um método com modificador default contido em uma classe pública não pode ser 
acessado em uma classe disponível em outro pacote. 
II- Um método com modificador public contido em uma classe pública somente pode 
ser acessado por uma classe disponível em outro pacote através do comando import. 
III- Uma classe com modificador default pode ser acessada por uma classe de outro 
pacote com o comando import. 
IV- Um método private colocado em uma classe com o modificador default não pode 
ser acessado por outra classe dento do mesmo pacote. 
 
Agora, assinale a alternativa CORRETA: 
 a) Somente a sentença IV está correta. 
 b) As sentenças II e III estão corretas. 
 c) Somente a sentença II está correta. 
 d) As sentenças I, II e IV estão corretas.
 
2. Na 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 public para uma classe fornece visibilidade desta classe em todas 
as demais classes da aplicação. 
 b) O motificador protected fornece visibilidade para todas as classes dentro do 
mesmo pacote. 
 c) O modificador private fornece acesso a todas as classes da aplicação. 
 d) O modificador default fornece visibilidade dentro da própria classe. 
 
3. A 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 principal objetivo do polimorfismo é a capacidade de herdar métodos e classes 
para uma subclasse. 
 b) O polimorfismo possui a desvantagem de tornar as classes com maior quantidade 
de código-fonte. 
 c) O polimorfismo permite que um único nome de classe represente diferentes 
códigos-fonte. 
 d) O polimorfismo apenas ocorre quando o modificador dos métodos da classe 
forem "protected". 
 
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 sentenças 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 - F - V - V. 
 c) F - V - F - V. 
 d) V - V - V - F.
 
5. O polimorfismo é implementado de muitas formas dentro da linguagem de 
programação Java, sendo que uma das mais utilizadas é a criação e a implementação 
de interfaces. Considerando a criação e a utilização de interfaces dentro da 
linguagem de programação Java, analise o código fonte da figura a seguir e 
classifique V para as sentenças verdadeiras e F para as falsas: 
 
( ) A classe SHA faz a sobrecarga do método encript() nas linhas 8 a 12. 
( ) O método encript() faz parte de uma interface chamada IAlgoritmoCriptografia. 
( ) Se a classe SHA fosse abstrata, ela não poderia fornecer implementação para o 
método gerarChaveCripto(Date data). 
( ) Um vetor de IAlgoritmoCriptografia não pode conter um objeto do tipo SHA. 
 
Agora, assinale a alternativa que apresenta a sequência CORRETA: 
 
 a) V - F - V - V.
 b) V - V - F - V.
 c) V - V - F - F. 
 d) F - V - F - F. 
 
6. Como 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 F para 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 IV está correta. 
 b) As sentenças I e III estão corretas. 
 c) As sentenças III e IV estão corretas.
 d) Somente a sentença II está correta. 
 
7. O Polimorfismo de inclusão permite que se defina um novo comportamento para um 
objeto sem que se faça alterações nos que já estão funcionando, minimizando 
consideravelmente os custos e reduzindo o tempo para novas implementações. 
Considerando que a figura a seguir traz duas classes relacionadas a uma interface, 
classifique V para as sentenças verdadeiras e F para as falsas: 
 
( ) O método encript() da interface é implicitamente abstrato. 
( ) Na linguagem de programação Java, demonstraríamos que SHA implementa 
IAlgoritmoCriptografia através da palavra reservada extends. 
( ) Um método existente em outra classe cuja assinatura seja ?public void 
criptografar(IAlgoritmoCriptografia iac)? pode receber como parâmetro tanto um 
objeto da classe SHA quanto um objeto da classe DES. 
( ) Podemos dizer que tanto SHA quanto DES implementam 
IAlgoritmoCriptografia. 
 
Agora, assinale a alternativa que apresenta a sequência CORRETA: 
 
 a) V - V - F - V.
 b) V - V - F - F. 
 c) F - V - F - V. 
 d) V - F - V - V.
 
8. Java é 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 implementa a interface FormaGeometrica. 
 
Agora, assinale a alternativa CORRETA: 
 
 a) Somente a sentença I está correta. 
 b) As sentenças I e II estão corretas. 
 c) As sentenças II e III estão corretas.
 d) Somente a sentença II está correta. 
 
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ção, em 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 CORRETA: 
 a) Uma classe coesa é, necessariamente, uma classe com alto acoplamento. 
 b) Tanto a coesão quanto o encapsulamentosão obtidos na linguagem de 
programação Java através do modificador de acesso private. 
 c) A coesão, embora seja uma característica importante, não auxilia o 
encapsulamento de uma classe. 
 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 implementa o encapsulamento através de 
modificadores de visibilidade que podem ser colocados na frente de classes, atributos 
e métodos. Com relação à utilização do encapsulamento na linguagem de 
programação Java, assinale a alternativa CORRETA: 
 a) O modificador public não pode ser usado na frente de atributos. 
 b) Um método com o modificador public não faz sentido em uma classe com o 
modificador default. 
 c) O modificador default permite o acesso padrão a todos dentro da mesma 
aplicação. 
 d) O modificador private permite o acesso somente dentro do mesmo pacote.

Continue navegando