Buscar

PROGRAMAÇÃO ORIENTADA A OBJETOS II - QUESTIONARIO I

Prévia do material em texto

· Pergunta 1
0,25 em 0,25 pontos
	
	
	
	O comando ___________ serve para mostrar, no próprio console, uma cadeia (string) de texto. Utilizado para apresentar uma mensagem, um alerta como retorno de uma funcionalidade executada na linguagem C#. O comando em questão é:
	
	
	
	
		Resposta Selecionada:
	b. 
Console.Writeline;
	Respostas:
	a. 
Console.XText.
	
	b. 
Console.Writeline;
	
	c. 
Console.Writeline.Export.Text;
	
	d. 
Console.XText.Writeline;
	
	e. 
Console.Writeline.WebConfiguration;
	Comentário da resposta:
	Resposta: B
Comentário: Console.Writeline grava o valor de cadeia de caracteres especificado, seguido pelo terminador de linha atual para o fluxo de saída padrão.
	
	
	
· Pergunta 2
0,25 em 0,25 pontos
	
	
	
	Com relação a conceitos sobre herança (classes), julgue os seguintes itens:
I. A ideia básica de classe é que objetos que pertençam a uma mesma classe apresentam características e comportamentos em comum.
II. Uma classe deve possuir uma única declaração de método construtor.
III. Uma instância de uma classe abstrata herda atributos e métodos de sua superclasse direta.
IV. Nos modelos orientados a objetos, uma das características mais básicas e fundamentais está na identificação e na criação das classes dos objetos.
Estão corretos apenas os itens:
	
	
	
	
		Resposta Selecionada:
	c. 
I e IV.
	Respostas:
	a. 
I e II.
	
	b. 
I e III.
	
	c. 
I e IV.
	
	d. 
II e III.
	
	e. 
II e IV.
	Comentário da resposta:
	Resposta: C
Comentário: I. A ideia básica de classe é que objetos que pertençam a uma mesma classe apresentam características e comportamentos em comum. IV. Nos modelos orientados a objetos, uma das características mais básicas e fundamentais está na identificação e na criação das classes dos objetos. II. Uma classe deve possuir uma única declaração de método construtor. III. Uma instância de uma classe abstrata herda atributos e métodos de sua superclasse direta. Classes abstratas não são instanciadas.
	
	
	
· Pergunta 3
0,25 em 0,25 pontos
	
	
	
	Na orientação a objeto, o ______________ é um princípio importante durante a definição de classes. Selecione o termo que completa o enunciado:
	
	
	
	
		Resposta Selecionada:
	a. 
Encapsulamento.
	Respostas:
	a. 
Encapsulamento.
	
	b. 
Atributo.
	
	c. 
Console.
	
	d. 
MVC.
	
	e. 
Polimorfismo.
	Comentário da resposta:
	Resposta: A
Comentário: Com o conceito de encapsulamento acoplado a uma solução C#, torna-se mais fácil o acesso a todos os dados contidos em uma classe no projeto.
	
	
	
· Pergunta 4
0,25 em 0,25 pontos
	
	
	
	Na orientação a objetos, uma classe pode ser composta por métodos e atributos. Os atributos correspondem aos dados que serão armazenados pelos objetos de determinada classe. Os métodos são utilizados para acessarmos e modificarmos os atributos, o que faz com o que os objetos mudem de estado. Sendo assim, podemos definir que uma das vantagens de se trabalhar com encapsulamento é:
	
	
	
	
		Resposta Selecionada:
	e. 
A possibilidade de mudar os detalhes internos de um objeto e a sua implementação, com impacto mínimo nas demais classes e nos demais objetos de um projeto.
	Respostas:
	a. 
A possibilidade de não mudar os detalhes internos de um objeto e a sua implementação, com impacto mínimo nas demais classes e nos demais objetos de um projeto.
	
	b. 
A possibilidade de mudar os detalhes internos de um objeto e a sua não implementação, com impacto máximo nas demais classes e nos demais objetos de um projeto.
	
	c. 
A possibilidade de mudar os detalhes externos de um objeto e a sua implementação, com impacto máximo nas demais classes e nos demais objetos de um projeto.
	
	d. 
A possibilidade de mudar os detalhes externos de um objeto e a sua não implementação, com impacto máximo nas demais classes e nos demais objetos de um projeto.
	
	e. 
A possibilidade de mudar os detalhes internos de um objeto e a sua implementação, com impacto mínimo nas demais classes e nos demais objetos de um projeto.
	Comentário da resposta:
	Resposta: E
Comentário: Uma das vantagens do encapsulamento é que podemos mudar os detalhes internos de um objeto e a sua implementação, com impacto mínimo nas demais classes e nos demais objetos de um projeto. Isso dá robustez ao projeto e flexibilidade para alterações futuras.
	
	
	
· Pergunta 5
0,25 em 0,25 pontos
	
	
	
	Relacionado com a capacidade de trabalharmos com objetos de tipos diferentes, mas de maneira similar. O enunciado refere-se a:
	
	
	
	
		Resposta Selecionada:
	a. 
Polimorfismo.
	Respostas:
	a. 
Polimorfismo.
	
	b. 
Encapsulamento.
	
	c. 
Atributo.
	
	d. 
Console.
	
	e. 
MVC.
	Comentário da resposta:
	Resposta: A
Comentário: Na orientação a objetos, o polimorfismo está relacionado com a capacidade de trabalharmos com objetos de tipos diferentes, mas de maneira similar.
	
	
	
· Pergunta 6
0,25 em 0,25 pontos
	
	
	
	O princípio da substituição de __________ costuma ser enunciado da seguinte forma: deve ser possível substituir classes derivadas pelas classes bases sem mudança no comportamento. Nesse texto, podemos afirmar que o item que completa a lacuna é:
	
	
	
	
		Resposta Selecionada:
	c. 
Princípio de substituição de Liskov.
	Respostas:
	a. 
Princípio aberto-fechado.
	
	b. 
Princípio da segregação de interfaces.
	
	c. 
Princípio de substituição de Liskov.
	
	d. 
Princípio da inversão de dependência.
	
	e. 
Princípio da responsabilidade única.
	Comentário da resposta:
	Resposta: C
Comentário: O princípio da substituição de Liskov costuma ser enunciado da seguinte forma: deve ser possível substituir classes derivadas pelas classes bases sem mudança no comportamento.
	
	
	
· Pergunta 7
0,25 em 0,25 pontos
	
	
	
	Criado para combater um problema chamado de interfaces “cheias” ou “poluídas”, ou seja, interfaces mais complexas do que os seus clientes realmente precisam. O princípio em questão abordado no texto é:
	
	
	
	
		Resposta Selecionada:
	b. 
Princípio da segregação de interfaces.
	Respostas:
	a. 
Princípio aberto-fechado.
	
	b. 
Princípio da segregação de interfaces.
	
	c. 
Princípio de substituição de Liskov.
	
	d. 
Princípio da inversão de dependência.
	
	e. 
Princípio da responsabilidade única.
	Comentário da resposta:
	Resposta: B
Comentário: O princípio da segregação de interfaces foi criado para combater um problema chamado de interfaces “gordas” ou “poluídas”, ou seja, de interfaces muito maiores e complexas do que os seus clientes realmente precisam (MARTIN e MARTIN, 2006).
Uma interface torna-se poluída quando ela tem métodos que não são relevantes para todos os seus clientes, ou seja, quando força a implementação de métodos irrelevantes para o contexto de uma classe que deve implantar essa interface.
	
	
	
· Pergunta 8
0,25 em 0,25 pontos
	
	
	
	Ao utilizarmos um contêiner de injeção de dependência, configuramos uma espécie de mapeamento entre tipos abstratos e tipos concretos. O _______ funciona como uma espécie de repositório que fornece os tipos concretos, ou seja, as instâncias dos objetos. O termo que complementa a lacuna do enunciado é:
	
	
	
	
		Resposta Selecionada:
	d. 
Unity.
	Respostas:
	a. 
Unitx.
	
	b. 
Unitz.
	
	c. 
Unitw.
	
	d. 
Unity.
	
	e. 
Unitp.
	Comentário da resposta:
	Resposta: D
Comentário: Na linguagem C# há um contêiner de injeção de dependência chamado de Unity, criado originalmente pela própria Microsoft. Ao utilizarmos um contêiner de injeção de dependência, configuramos uma espécie de mapeamento entre tipos abstratos e tipos concretos. O Unity funciona como uma espécie de repositório que fornece os tipos concretos, ou seja, as instâncias dos objetos.
	
	
	
· Pergunta 9
0,25 em 0,25 pontos
	
	
	
	Uma forma bastante simplificada de ver esse conceito é pensar que uma classe, em vez de instanciar objetos dos quais ela depende, recebe esses objetos prontos, vindos de outro objeto (FOWLER, 2004; SHORE, 2006). É nesse sentido que existe a:
	
	
	
	
		Resposta Selecionada:
	a. 
Injeção de dependência.
	Respostas:
	a. 
Injeção de dependência.b. 
Injeção de versionamento.
	
	c. 
Injeção de desenvolvimento.
	
	d. 
Injeção de herança.
	
	e. 
Injeção de encapsulamento.
	Comentário da resposta:
	Resposta: A
Comentário: Uma forma bastante simplificada de ver esse conceito é pensar que uma classe, em vez de instanciar objetos dos quais ela depende, recebe esses objetos prontos, vindos de outro objeto (FOWLER, 2004; SHORE, 2006). É nesse sentido que existe a “injeção de dependência”: uma classe está recebendo objetos em vez de instanciá-los internamente.
	
	
	
· Pergunta 10
0,25 em 0,25 pontos
	
	
	
	O objetivo da utilização desses contêineres e do princípio da injeção de dependência é fazer com que a aplicação dependa apenas de ____________, exceto nos pontos em que devemos configurar os mapeamentos. O termo que se adequa para o complemento do enunciado é:
	
	
	
	
		Resposta Selecionada:
	b. 
Abstrações.
	Respostas:
	a. 
C#.
	
	b. 
Abstrações.
	
	c. 
Desenvolvimento eficaz.
	
	d. 
Injeção de encapsulamento.
	
	e. 
Especificações UML.
	Comentário da resposta:
	Resposta: B
Comentário: O objetivo da utilização desses contêineres e do princípio da injeção de dependência é fazer com que a aplicação dependa apenas de abstrações, exceto nos pontos em que devemos configurar os mapeamentos.

Mais conteúdos dessa disciplina