Buscar

Prova N2 - 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 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

“Quando falamos em herança, a primeira imagem que nos aparece na memória é a de uma árvore genealógica com avós, pais, filhos e nas características que são transmitidas geração após geração. O que deve ser levado em consideração sobre herança em orientação a objetos é o compartilhamento de atributos e comportamentos entre as classes de uma mesma hierarquia (árvore).”. (ZENZELUK, J.H.; RIBEIRO, S.Um estudo para a evolução do PHP com a linguagem Orientada a objetos. Revista Científica Semana Acadêmica, Fortaleza, v. 1, n. 3, 2014.).
Pelo enunciado, podemos compreender uma definição abrangente de herança na orientação a objeto. Neste sentido, qual o conceito fundamental de herança na orientação a objeto?
· 
Herança é construir uma classe filha com atributos e métodos herdados da chamada de classe mãe, permitindo que as classes filhas herdem todos os seus atributos e métodos.
· 
Herança é construir uma classe com seus atributos e métodos, chamada de classe filho, que permite que outras classes, chamada classe mãe, herdem todos os seus atributos e métodos.
· 
Herança é construir uma classe com seus atributos, chamada de classe mãe, que permite que outras classes, chamadas classe filhos, herdem todos os seus atributos e métodos.
· 
Herança é construir uma classe com seus métodos, chamada de classe filho, que permite que outras classes, chamada classe mãe, herdem todos os seus atributos e métodos.
· 
Herança é construir uma classe com seus métodos, chamada de classe mãe, que permite que outras classes, chamadas classe filhos, herdem todos os seus atributos e métodos.
“Uma classe abstrata não gera objetos, porque geralmente        ela tem, no mínimo, uma operação abstrata nela definida. Se ela na verdade criasse um objeto, uma mensagem invocando a operação abstrata do objeto provocaria um erro de run-time. Em face disso, uma operação abstrata, e a classe na qual ela está definida, podem parecer inúteis. Assim, por que as temos em uma linguagem orientada a objetos? A resposta tem relação com a herança.”. (PAGE-JONES, M. Fundamentos do desenho orientado a objeto com UML. São Paulo: Makron Books, 2001. p. 98).
Portanto, podemos compreender a importância de seguir as regras de programação orientada a objeto para que não ocorram erros quando o sistema estiver instalado. Neste sentido, qual o tipo de problema acarreta erro em tempo de execução?
· 
.Erro de regra de negócio.
· 
.Erro de instalação.
· 
.Erro de sintaxe.
· 
.Erro de lógica.
· 
.Erro de análise.
“Polimorfismo é um termo grego que significa muitas formas (poli: muitas, morphos: formas). Na programação é o mesmo que dizer que várias classes podem possuir a mesma estrutura e comportamentos diferentes. Ao utilizar herança não apenas podemos reutilizar métodos da classe pai, como também podemos sobrescrever os métodos da classe pai, fazendo assim com que algumas características sejam modificadas. Basicamente, por exemplo podem ser criados métodos com o mesmo nome, sendo que só é preciso ter a assinatura/conteúdo diferentes.”. (ZENZELUK, J. H.; RIBEIRO, S. Um estudo para a evolução do PHP com a linguagem Orientada a objetos. Revista Científica Semana Acadêmica, Fortaleza, v. 3, n. 1, 2014.).
O polimorfismo é uma técnica largamente utilizada em orientação a objeto. Neste sentido, existem três formas de aplicar o Polimorfismo. Quais são?
I.         Sobrecarga.
II.        Exclusão.
III.      Sobreposição.
IV.      Redundância.
V.        Inclusão.
É correto o que se afirmar em:
· 
I, II, III, IV e V.
· 
I, III e V.
· 
II, IV e V.
· 
I, III, IV e V.
· 
II, III e IV.
“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 objetos de forma que se possam desenvolver operações básicas nessa coleção.
· 
.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 nessa coleção.
· 
.Agrupar um conjunto de variáveis públicas de forma que se possam desenvolver operações básicas nessa coleção.
“O sistema baseado em regras (parte dos sistemas de inteligência artificial) é baseado em uma visão de controle da realidade. Neste modelo, o computador é uma máquina de inferência que executa um conjunto de regras (declarações if-then). Na teoria a sequência na qual as regras foram executadas não era material. Todavia, na prática, a maioria de nós não era capaz de encontrar regras que fossem verdadeiramente desacopladas”. (LEE. R.; TEPFENHART, W. M.     UML e C++ - Guia prático de desenvolvimento orientado a objeto. São Paulo: Makron Books, 2002. p. 65.)
Podemos compreender que o controle de fluxo e repetições é essencial em qualquer linguagem de programação. Neste sentido, quais os comandos que pertencem ao controle de tomada de decisão?
· 
. if-else, while, do-while.
· 
. fo, while, if-else.
· 
. for, switch-case, do-while.
· 
. if-else e switch-case.
· 
. for, while e do-while.
“Foi somente em meados da década de 1970 que os programadores começaram a levara sério a programação estruturada. Os resultados foram impressionantes. Grupos de desenvolvimento de software informaram  tempos de desenvolvimento maus curtos, mas frequente cumprimento dos prazos de entrega do sistemas e mais frequente conclusão dentro do orçamento dos projetos de software. A chave para esses sucessos eras que os programas estruturados eram mais claros, mais fáceis de depurar e modificar e menos propensos a conterem bugs..”. (DEITEL, B. Java: como programar. São Paulo: Pearson Education do Brasil, 2017. p. 81.)
É fundamental que qualquer profissional, inclusive da área de desenvolvimento de sistemas, tenha ideia das teorias que precedem as tecnologias atuais. O paradigma de programação estruturada foi vigente durante muitos anos, tendo sido uma grande evolução. Neste sentido, a programação estruturada é formada por três estruturas básicas. Associe as estruturas citadas abaixo com as suas respectivas definições.
(1)   Estrutura de sequência.
(2)   Estrutura de decisão.
(3)   Estrutura de iteração.
(  ) Controla o fluxo das instruções que serão executadas mais de uma vez.
(  ) Controla o fluxo das instruções que necessitam de alguma condição.
(  ) Define como as instruções serão executadas ditadas pelo fluxo da execução.
Agora, assinale a alternativa que apresenta a sequência correta:
· 
.3, 2, 1.
· 
.2, 3, 1.
· 
.1, 3, 2.
· 
.1, 2, 3.
· 
.2, 1, 3.
“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.
· 
. SortedMap - TreeMap - Map.
· 
. TreeMap
- SortedMap - Map.
· 
. Map - TreeMap - SortedMap.
· 
. SortedMap - Map- TreeMap.
· 
. Map - SortedMap - TreeMap.
“O paradigma da orientação a objetos, que trabalha com a prática de dividir os objetos do mundo real em classes, agrupando os que têm características (atributos) em comum, se resume a uma classificação. Entre todas as linguagens existentes, a classificação ainda é considerada a melhor, por assegurar uma arrumação lógica dos assuntos dentro de uma coleção. O objetivo de toda classificação é estabelecer uma ordem ou organização das coisas e dos pensamentos”..”. (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. 97.).
Quando se programa em orientação a objetos é fundamental ter domínio sobre os conceitos fundamentais, como o conceito de coleção. Neste sentido, qual o fundamento da Collections Framework?
· . Representa um conjunto de atributos estáticos para representar e tratar grupos de dados como uma única unidade.
· 
. Representa um conjunto de métodos e classes para representar e tratar grupos de dados como uma única unidade.
· 
.Representa um conjunto de atributos e classes para representar e tratar grupos de dados como uma única unidade.
· 
.Representa  um conjunto  de interfaces e classes para representar e tratar grupos de dados como uma única unidade.
· 
. Representa um conjunto bem definido de atributos dinâmicos para representar e tratar grupos de dados como uma única unidade.
“Vimos que o uso de campos públicos é uma prática que talvez crie uma forma desnecessariamente forte de acoplamento entre as classes, com este acoplamento forte, pode ser necessário fazer alterações em mais de uma classe para o que deveria ter sido uma simples modificação. Portanto, campos públicos devem ser evitados. Contudo, há uma forma ainda pior de acoplamento, que é o acoplamento implícito”. (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. 194.).
 
Podemos compreender a complexidade de encapsulamento na orientação a objeto. Neste sentido, qual o objetivo do método set?
· 
.É nomeado um método de acesso com set sempre que este método for ler algum método de uma classe.
· 
.É nomeado um método de acesso com set sempre que este método for modificar algum campo ou atributo de uma classe.
· 
.É nomeado um método de acesso com set sempre que este método for modificar algum método de uma classe.
· 
.Nomeamos um método de acesso com set toda vez que este método for acessar o tipo de algum campo ou atributo de uma classe.
· 
.É nomeado um método de acesso com set sempre que este método for ler algum campo ou atributo de uma classe.
· 
.I, III e IV.
· 
.III e IV.
· 
.I, II e IV.
· 
.II e IV.
· 
.I, II e III.

Continue navegando