Buscar

ATIVIDADE 2 _ Disciplina PROGRAMAÇÃO ORIENTADA A OBJETOS - Curso JOGOS DIGITAIS

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

QUESTÃO 1
“Ao escrever um programa de computador em uma linguagem orientada a objetos, você criará, em seu computador, um modelo de alguma parte do mundo. As partes das quais o modelo é construído são os objetos que aparecem no domínio do problema. Esses objetos devem ser representados no modelo de computador que estiver sendo criado. Os objetos podem ser categorizados e uma classe descreve - de maneira abstrata - todos os objetos de um tipo particular.”. (BARNES, D. J.; KOLLING, M. Programação orientada a objetos com Java - Uma introdução prática usando o Bluej. 4. ed. São Paulo: Pearson Prentice Hall, 2009. p. 2.).
Pelo enunciado, podemos que os programas desenvolvidos em linguagem orientada a objetos representam uma imagem do mundo. Nesta representação de objetos encontra-se a ideia de encapsulamento. O que significa encapsulamento em orientação a objeto?
 .Encapsular significa abstrair detalhes do código durante a implementação.
 .Encapsular significa abstrair os métodos do código durante a implementação.
 .Encapsular significa esconder os métodos do código durante a implementação.
 .RESPOSTA CORRETA: Encapsular significa esconder detalhes do código durante a implementação.
Resposta correta. Encapsular quer dizer que se devem esconder todos os membros das classes, além de esconder a forma como o código funciona, sendo as rotinas, métodos, etc.
 Encapsular significa esconder os atributos do código durante a implementação.
QUESTÃO 2
“Ao aceitarmos a concorrência, também permitimos que um objeto destinatário seja bombardeado por mensagens de vários objetos remetentes executando concorrentemente. Uma vez que essas mensagens podem chegar mais rápido do que o objeto destinatário consegue processá-las, elas terão de ir a algum lugar para esperar pela vez delas. Elas vão para uma ‘sala de espera’, mais frequentemente conhecida como uma fila [queue] de mensagens.”. (PAGE-JONES M. Fundamentos do desenho orientado a objeto com UML. São Paulo: Makron Books, 2001. p. 158.).
Portanto, podemos compreender a partir da citação, que existem diversas interfaces, inclusive de filas. Neste sentido, o que significa a interface Queue?
 . RESPOSTA CORRETA: A interface Queue será utilizada quando a ordenação de inserção e remoção dos elementos forem importantes e forem passíveis de aceitar duplicação de elementos.
Resposta correta. A interface Queue (fila) deve ser utilizada com o objetivo de ordenação e inserções dos elementos forem relevantes e forem aceitas duplicidades dos elementos.
 .A interface Queue
será utilizada quando a ordenação de inserção e remoção dos elementos não forem importantes e forem passíveis de aceitar duplicação de elementos.
 .A interface Queue
será utilizada quando a ordenação de inserção e remoção dos elementos forem importantes e forem passíveis de aceitar sequenciamento de elementos.
 .A interface Queue
será utilizada quando a ordenação de inserção e remoção dos elementos não forem importantes e não forem passíveis de aceitar duplicação de elementos.
 A interface Queue será utilizada quando a ordenação de inserção e remoção de elementos forem importantes e não forem passíveis de aceitar sequenciamento de elementos.
QUESTÃO 3
“Uma complicação do processo de remoção de uma coleção é que ele pode alterar os valores de índice em que outras notas da coleção são armazenadas. Se um item com um número de índice baixo é removido, então a coleção move todos os itens seguintes para frente por uma posição para preencher na lacuna. Como consequência os números de índice serão diminuídos por 1.”. (BARNES, D. J.; KOLLING, M. Programação orientada a objetos com Java - uma introdução prática usando o Bluej. 4. ed. São Paulo: Pearson Prentice Hall, 2009. p. 83.).
É fundamental compreender os fundamentos de orientação a objeto e a construção das coleções para não incorrer em erros de execução. Neste sentido, existe a árvore da hierarquia de interfaces e classes da Java Collections Framework, que são derivadas da interface Collection. Qual a ordem correta da hierarquia para fazer um sorteamento dos dados?
 . Collection > TreeSet > SortedSet > Set.
 . Collection > SortedSet > Set > TreeSet.
 . RESPOSTA CORRETA: Collection > Set > SortedSet > TreeSet.
Resposta correta. A ordem correta é Collection, Set, SortedSet e TreeSet.
 . SortedSet > Set > Collection > TreeSet.
 Set > Collection > SortedSet > TreeSet
QUESTÃO 4
“O encapsulamento consiste em evidenciar ou não as funcionalidades do objeto ao ambiente externo. Um exemplo é o motor de um carro sendo um objeto acionado através do método da ignição e que [...] este método interage com outros métodos internos, como acender vela de ignição para prover a funcionalidade de ligar o carro. O método responsável por acionar a vela de ignição não está visível ao usuário do carro. Não é ele quem decide quando a vela irá acender ou não. Esse método é interno, pois a entidade usuário do carro, que interage com o carro, não interage com o motor”. (CASTRO, F. R; CRUZ. F. M.; ODDONE, N. E. O paradigma da orientação a objetos, a linguagem unificada de modelagem (UML) e a organização e representação do conhecimento: um estudo de caso de um sistema para bibliotecas. Inf. Inf., Londrina, v. 18, n. 1, p. 82-105, 2013. p. 91.
É possível compreender a importância do encapsulamento nos códigos orientados a objeto. Neste sentido, qual é a real vantagem obtida do encapsulamento no código?
 . Se for necessário fazer qualquer tipo de alteração no código, será necessário realizar a alteração nas versões anteriores.
 . RESPOSTA CORRETA: Se for necessário fazer alteração no código, em vez de mudar informações em vários lugares do código, fará apenas a alteração necessária em um único lugar.
Resposta correta: Uma das grandes vantagens do encapsulamento é a facilidade de mudança, pois caso seja necessário, a alteração é realizada somente em um ponto do código e não em vários pontos distintos, tornando a alteração mais confiável.
 .Se for necessário fazer alguma alteração no código, será necessário realizar a alteração na versão mais atual.
 .Se for necessário fazer alteração no código, em vez de mudar informações em um único lugar do código, fará a alteração necessária em vários lugares.
 Se for necessário fazer qualquer tipo de alteração no código, será necessário realizar a alteração em todas as versões do código.
QUESTÃO 5
“A diretriz de encapsulamento (ocultar informações de implementação de visualização) sugere que somente as informações sobre o que uma classe pode fazer devem ser visíveis externamente, não como ela é. Isso apresenta uma grande vantagem: se nenhuma outra classe sabe como nossas informações são armazenadas, podemos facilmente alterar como elas são armazenadas sem quebrar outras classes.”. (BARNES, D. J.; KOLLING, M. Programação orientada a objetos em Java. São Paulo: Pearson Prentice Hall, 2004. p. 188.).
É possível compreender a utilização de encapsulamento como uma forma de programação com maior segurança. Porém, qual a maneira de se acessar os atributos encapsulados?
 .Criando atributos ocultos.
 .Armazenando os dados em tabelas temporárias.
 .Dando acesso para outros desenvolvedores.
 .Criando classes abstratas.
 RESPOSTA CORRETA: Criando métodos que liberam o acesso.
Resposta correta. Segundo os fundamentos de orientação a objeto, ao utilizar o encapsulamento, só atributos são protegidos, sendo necessário criar métodos adicionais para o acesso a estes atributos por outras classes.
QUESTÃO 6
“Um map é uma coleção de pares chave/valor de objetos. Como o arraylist, um map pode armazenar um número flexível de entradas. Uma diferença entre o ArrayList e um map é que com um map cada entrada não é um objeto, mas um par de objetos. Esse par consiste em um objeto chave e um objeto valor. Em vez de pesquisar entradas nessa coleção que utiliza um índice de inteiros, utilizamos o objeto chave para pesquisar o objeto valor.”. (BARNES, D. J.; KOLLING, M. Programação orientada a objetos em Java. Editora Pearson Prentice Hall.São Paulo, 2004. p. 120.).
Apesar de não ser considerada uma Collection, a interface Map faz parte da API Collection. Neste sentido, existe uma árvore de hierarquia do map. Assinale a ordem correta hierarquia do map.
 . Map - TreeMap - SortedMap.
 . RESPOSTA CORRETA: Map - SortedMap - TreeMap.
Resposta correta. A ordem correta é Map, SortedMap, TreeMap.
 . SortedMap - TreeMap - Map.
 . TreeMap - SortedMap - Map.
 SortedMap - Map - TreeMap
QUESTÃO 7
“As variáveis de classe são frequentemente utilizadas para armazenar um valor que deve ser sempre o mesmo para todas as instâncias de uma classe. Em vez de armazenar uma cópia do mesmo valorem cada objeto, o que seria um desperdício de espaço e que talvez fosse difícil coordenar, um único valor pode ser compartilhado entre todas as instâncias. Java suporta métodos de classe.”. (BARNES, D. J.; KOLLING, M. Programação orientada a objetos em Java. São Paulo: Pearson Prentice Hall, 2004. p. 136.).
Podemos compreender o nível de complexidade ao criar instâncias para classes na orientação a objeto. Neste sentido, qual o objetivo de se criar um atributo com o tipo static?
I. O atributo se torna um atributo da classe.
II. Não se torna um atributo para cada objeto do tipo daquela classe.
III. O atributo fica restrito somente àquela classe.
IV. Torna inacessível o conteúdo dos atributos por outras classes.
É correto o que se afirma em:
 . RESPOSTA CORRETA: I e II.
Resposta correta. Em Java, podemos declarar essa variável como sendo do tipo estática ( static). Fazendo o uso do tipo static, nosso atributo se torna um atributo da classe, e não um atributo para cada objeto do tipo daquela classe.
 .I, apenas.
 .II, apenas.
 .III e IV.
 II, III e IV.
QUESTÃO 8
“Quando os componentes de software colaboram para cumprir uma tarefa, dizemos que a interface entre eles deve ser clara e bem definida. por interface queremos dizer as partes de uma classe que são conhecidas por outras classes e com as quais essas classes contam. Considere, por exemplo, um projeto para desenvolver software para operar uma calculadora aritmética. Uma maneira de dividir esse projeto é em duas partes importantes: uma parte responsável por permitir que os usuários insiram cálculos e outra para implementar a lógica aritmética dos cálculos.”. (BARNES, D. J.; KOLLING, M. Programação orientada a objetos com Java - uma introdução prática usando o Bluej. 4. ed. São Paulo: Pearson Prentice Hall, 2009. p. 150.).
Podemos compreender que a herança associa-se ao polimorfismo, que na orientação a objetos pode assumir diferentes comportamentos. Como se apresenta o polimorfismo na forma de sobreposição?
 .Quando são criadas as coleções se tem acesso aos métodos já implementados na interface exclusiva de um código.
 .Quando são criadas as coleções se tem acesso aos atributos já implementados na maioria das interfaces.
 .Quando são criadas as coleções se tem acesso às classes mãe já implementados na maioria das interfaces.
 . RESPOSTA CORRETA: Quando são criadas as coleções se tem acesso aos métodos já implementados na maioria das interfaces.
Resposta correta. Quando são criadas as coleções se tem acesso aos métodos já implementados na maioria das interfaces.
 Quando são criadas as coleções se tem acesso às classes filhas já implementados na maioria das interfaces.
QUESTÃO 9
“Um dos recursos de linguagem orientada a objetos que as tornam poderosas é que elas frequentemente são acompanhadas pelas bibliotecas de classes. Essas bibliotecas em geral contêm muitas centenas ou milhares de classes diferentes que se provaram úteis para desenvolvedores em uma ampla variedade de projetos diferentes. O Java tem muitas bibliotecas diferentes e são chamados de pacotes as suas bibliotecas”. (BARNES, D. J.; KOLLING, M. Programação orientada a objetos em Java. São Paulo: Pearson Prentice Hall, 2004. p. 77.).
A orientação a objeto e a linguagem Java oferece uma série de facilidades para melhorar o desenvolvimento de códigos. Neste sentido, qual o objetivo da API Collections?
 .Agrupar um conjunto de atributos de forma que se possam desenvolver operações básicas nessa coleção.
 .Agrupar um conjunto de variáveis públicas de forma que se possam desenvolver operações básicas nessa coleção.
 . RESPOSTA CORRETA: Agrupar um conjunto de objetos de forma que se possam desenvolver operações básicas nessa coleção.
Resposta correta. Collections (Coleção) representa um conjunto de interfaces e classes que podem ser tratados de forma única.
 .Agrupar um conjunto de métodos de forma que se possam desenvolver operações básicas nessa coleção.
 Agrupar um conjunto de variáveis privadas de forma que se possam desenvolver operações básicas nesta coleção.
QUESTÃO 1000
“O encapsulamento em orientação a objeto tem uma finalidade similar à sub-rotina. Entretanto, o encapsulamento é estruturalmente mais sofisticado. O encapsulamento orientado a objeto é o pacote de operações e atributos o qual representa o estado em um tipo de objeto, de tal forma que o estado é acessível ou modificável somente pela interface provida pelo encapsulamento.”. (PAGE-JONES, M. Fundamentos do desenho orientado a objeto com UML. São Paulo: Makron Books, 2001. p. 10.).
Podemos compreender que, na hora da implementação de classes encapsuladas, é necessário ter bastante cuidado sobre qual modificador de acesso utilizar. Neste sentido, qual o objetivo do método get?
 .É nomeado um método de acesso com get toda vez que este método for verificar tipo de algum campo ou atributo de uma classe.
 .É nomeado um método de acesso com get toda vez que este método for alterar algum campo ou atributo de uma classe.
 .É nomeado um método de acesso com get toda vez que este método for executar a gravação de algum campo ou atributo de uma classe.
 .É nomeado um método de acesso com get toda vez que este método for verificar o retorno de algum campo ou atributo de uma classe.
 RESPOSTA CORRETA: É nomeado um método de acesso com get toda vez que esse método for executar a leitura de algum campo ou atributo de uma classe.
Resposta correta. Para resolver problemas de acesso às classes é necessário criar métodos de acesso para leitura de valores a esses atributos. Essas propriedades são chamadas de get.

Continue navegando