Você está na página 1de 4

Quiz - Encapsulamento (1,0 pt): Revisão da tentativa https://virtual.ufmg.br/20201/mod/quiz/review.php?attempt=311705&c...

PAINEL > MINHAS TURMAS > 2020_1 - PROGRAMAÇÃO E DESENVOLVIMENTO DE SOFTWARE II - METATURMA
> PROGRAMAÇÃO ORIENTADA A OBJETOS (POO) - PARTE 1 (DATA LIMITE: 20/09, 27 PTS) > QUIZ - ENCAPSULAMENTO (1,0 PT)

Iniciado em domingo, 20 Set 2020, 20:00


Estado Finalizada
Concluída em domingo, 20 Set 2020, 20:33
Tempo 33 minutos 19 segundos
empregado
Notas 4,00/5,00
Avaliar 8,00 de um máximo de 10,00(80%)

Questão 1 Alguns conceitos da orientação a objetos estão disponibilizados na coluna I. Estabeleça a correta correspondência
Correto com seus significados disponibilizados na coluna II.
Atingiu 1,00 de
1,00 Coluna I
1. Abstração
2. Classe
3. Polimorfismo
4. Herança
5. Encapsulamento

Coluna II
( ) Distingue a especificação e a implementação das operações de um objeto.
( ) Conjunto de objetos que possuem o mesmo tipo.
( ) Permite ao usuário definir tipos de forma incremental, a partir de tipos existentes.
( ) Elucida apenas as propriedades comuns de um conjunto de objetos, omitindo os detalhes.
( ) Define que uma determinada operação pode se comportar de diferentes formas em diferentes classes.

A sequência correta, de cima para baixo, é:

Escolha uma:
a. 5, 4, 2, 1, 3.

b. 5, 2, 4, 3, 1.

c. 5, 2, 4, 1, 3.

d. 2, 1, 3, 4, 5.

Sua resposta está correta.


A resposta correta é: 5, 2, 4, 1, 3..

1 of 4 21/09/2020 01:34
Quiz - Encapsulamento (1,0 pt): Revisão da tentativa https://virtual.ufmg.br/20201/mod/quiz/review.php?attempt=311705&c...

Questão 2 Um dos recursos mais interessantes na orientação a objetos é o Encapsulamento. Preencha corretamente as
Correto lacunas abaixo:
Atingiu 1,00 de
1,00
Para atingir o encapsulamento, uma das formas é definindo a visibilidade das métodos
propriedades e dos ________ de um objeto.

Membros declarados como _________ podem ser acessados somente dentro da própria protected
classe em que foram declarados

e a partir de classes _________, mas não poderão ser acessados a partir do programa que descendentes
faz uso dessa classe (manipulando o objeto em si).

Sua resposta está correta.


A resposta correta é: Para atingir o encapsulamento, uma das formas é definindo a visibilidade das propriedades e
dos ________ de um objeto. → métodos, Membros declarados como _________ podem ser acessados somente
dentro da própria classe em que foram declarados → protected, e a partir de classes _________, mas não poderão
ser acessados a partir do programa que faz uso dessa classe (manipulando o objeto em si). → descendentes.

Questão 3 Na orientação a objetos, para que um atributo de uma classe X possa ser acessado apenas por métodos de X e
Correto por métodos definidos em subclasses de X, sua visibilidade deve ser
Atingiu 1,00 de
1,00 Escolha uma:
a. privada (private).

b. pública (public).

c. protegida (protected).

d. estática (static).

Sua resposta está correta.

A resposta correta é: protegida (protected)..

Questão 4 Na orientação a objetos, o conceito de encapsulamento corresponde à propriedade de


Correto

Atingiu 1,00 de Escolha uma:


1,00
a. receber, por uma classe, uma mensagem sem parâmetros.

b. ter um conjunto de objetos com a mesma classe.

c. usar variáveis e constantes do tipo inteiro nos métodos das classes implementadas.

d. esconder ou ocultar detalhes da implementação de uma determinada classe.

Sua resposta está correta.


A resposta correta é: esconder ou ocultar detalhes da implementação de uma determinada classe..

2 of 4 21/09/2020 01:34
Quiz - Encapsulamento (1,0 pt): Revisão da tentativa https://virtual.ufmg.br/20201/mod/quiz/review.php?attempt=311705&c...

Questão 5
Considere o código escrito em C++:
Incorreto
// ponto.hpp
Atingiu 0,00 de
1,00 class Ponto {
public:
double _x;
double _y;
Ponto();

Ponto(double x, double y);


};
---------------------------------------------------------------------
// Circunferencia.hpp
#ifndef M_PI
#define M_PI 3.14159265358979323846
#endif
#ifndef CIRCUNFERENCIA_H
#define CIRCUNFERENCIA_H

#include <cmath>
#include "Ponto.hpp"

class Circunferencia {
public:
Ponto* _centro;
double _raio;
Circunferencia(Ponto* centro, double raio);
double calcularArea();
};
#endif
---------------------------------------------------------------------
\\ Ponto.cpp
#include "Ponto.hpp"
Ponto::Ponto() : Ponto(0.0, 0.0) {}
Ponto::Ponto(double x, double y) : _x(x), _y(y) {}

---------------------------------------------------------------------
\\ Circunferencia.cpp
#include "Circunferencia.hpp"
Circunferencia::Circunferencia(Ponto* centro, double raio) {
this->_centro = centro;
this->_raio = raio;
}

double Circunferencia::calcularArea() {
return M_PI * pow(this->_raio, 2);
}

3 of 4 21/09/2020 01:34
Quiz - Encapsulamento (1,0 pt): Revisão da tentativa https://virtual.ufmg.br/20201/mod/quiz/review.php?attempt=311705&c...

---------------------------------------------------------------------
// main.cpp
#include <iostream>
#include "Ponto.hpp"
#include "Circunferencia.hpp"
using namespace std;

int main() {
Circunferencia* c1 = new Circunferencia(new Ponto(), 10);
cout << c1->calcularArea() << endl;
Ponto p(5.0, 5.0);
Circunferencia* c2 = new Circunferencia(&p, 10);
cout << c2->calcularArea() << endl;
delete c1;
delete c2;
return 0;
}
Como o princípio de encapsulamento poderia ser aplicado no código acima?

Escolha uma:
a. os atributos das classes Ponto e Circunferencia deveriam ser private. Dessa forma, eles só poderiam ser
acessados por métodos das próprias classes.

b. os atributos das classes Ponto e Circunferencia deveriam ser protected, e portanto, só poderiam ser
acessados por métodos das próprias classes. Os atributos das classes Ponto e Circunferencia deveriam
ser private, e portanto, só poderiam ser acessados por métodos das próprias classes.

c. todos os métodos das classes Ponto e Circunferencia deveriam ser private.

d. os atributos da classe Ponto deveriam ser protected e os atributos da classe Circunferencia deveriam ser
private.

Sua resposta está incorreta.


A resposta correta é: os atributos das classes Ponto e Circunferencia deveriam ser private. Dessa forma, eles só
poderiam ser acessados por métodos das próprias classes..

◄ Access Modifiers in C++ Seguir para... VPL 2 - Listas (5,0 pts) ►

4 of 4 21/09/2020 01:34

Você também pode gostar