Logo Passei Direto
Buscar

Avaliação Minicurso Avance - Orientação a Objetos Uniasselvi 2024 1

Ferramentas de estudo

Questões resolvidas

4. A herança múltipla é um conceito em orientação a objetos onde uma classe pode herdar características (atributos e métodos) de mais de uma classe. Apesar de ser útil em alguns contextos, a herança múltipla pode causar problemas como o problema do diamante, em que uma classe herda de duas classes que, por sua vez, herdam de uma classe comum. Isso pode levar a ambiguidades sobre qual método ou atributo deve ser utilizado. Suponha que você está desenvolvendo um sistema para um simulador de animais. Você criou uma classe Animal, e duas classes Mamifero e Ave, que herdam de Animal. Em seguida, você cria uma classe Morcego que herda tanto de Mamifero quanto de Ave. O problema do diamante ocorre quando Morcego herda métodos ou atributos comuns de Mamifero e Ave, que foram herdados de Animal. Avalie as seguintes afirmações sobre herança múltipla e o problema do diamante no código apresentado: I. A classe Morcego herda atributos e métodos de ambas as classes Mamifero e Ave. II. O problema do diamante é resolvido em Python usando a ordem de resolução de método (MRO) para determinar qual método herdar. III. A chamada a super() no construtor da classe Morcego invoca o construtor da classe Mamifero. IV. A classe Animal deve ser explicitamente chamada na classe Morcego para evitar o problema do diamante. A) Apenas as afirmativas I e II estão corretas. B) Apenas as afirmativas I e IV estão corretas. C) Apenas as afirmativas I, II e III estão corretas. D) Apenas as afirmativas II e IV estão corretas.

A) Apenas as afirmativas I e II estão corretas.
B) Apenas as afirmativas I e IV estão corretas.
C) Apenas as afirmativas I, II e III estão corretas.
D) Apenas as afirmativas II e IV estão corretas.

Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Questões resolvidas

4. A herança múltipla é um conceito em orientação a objetos onde uma classe pode herdar características (atributos e métodos) de mais de uma classe. Apesar de ser útil em alguns contextos, a herança múltipla pode causar problemas como o problema do diamante, em que uma classe herda de duas classes que, por sua vez, herdam de uma classe comum. Isso pode levar a ambiguidades sobre qual método ou atributo deve ser utilizado. Suponha que você está desenvolvendo um sistema para um simulador de animais. Você criou uma classe Animal, e duas classes Mamifero e Ave, que herdam de Animal. Em seguida, você cria uma classe Morcego que herda tanto de Mamifero quanto de Ave. O problema do diamante ocorre quando Morcego herda métodos ou atributos comuns de Mamifero e Ave, que foram herdados de Animal. Avalie as seguintes afirmações sobre herança múltipla e o problema do diamante no código apresentado: I. A classe Morcego herda atributos e métodos de ambas as classes Mamifero e Ave. II. O problema do diamante é resolvido em Python usando a ordem de resolução de método (MRO) para determinar qual método herdar. III. A chamada a super() no construtor da classe Morcego invoca o construtor da classe Mamifero. IV. A classe Animal deve ser explicitamente chamada na classe Morcego para evitar o problema do diamante. A) Apenas as afirmativas I e II estão corretas. B) Apenas as afirmativas I e IV estão corretas. C) Apenas as afirmativas I, II e III estão corretas. D) Apenas as afirmativas II e IV estão corretas.

A) Apenas as afirmativas I e II estão corretas.
B) Apenas as afirmativas I e IV estão corretas.
C) Apenas as afirmativas I, II e III estão corretas.
D) Apenas as afirmativas II e IV estão corretas.

Prévia do material em texto

Avaliação Minicurso Uniasselvi – Orientação a Objetos 2024.1 
1. A programação orientada a objetos não é apenas uma forma de programar, 
mas também um jeito de pensar em um problema utilizando conceitos do mundo 
real, não apenas conceitos computacionais. Considerando os conceitos da 
programação orientada a objetos, analise as afirmações abaixo. 
Considere as seguintes afirmações sobre programação orientada a objetos: 
I. O objeto tem determinadas propriedades que o caracterizam e que são 
armazenadas no próprio objeto. As propriedades de um objeto são chamadas de 
instâncias. 
II. As mensagens são informações enviadas ao objeto para que ele se comporte de 
uma determinada maneira. Um programa orientado a objetos em execução consiste 
em envios, interpretações e respostas às mensagens. São os métodos, os 
procedimentos residentes nos objetos, que determinam como eles irão atuar ao 
receber as mensagens. 
III. A herança é um mecanismo para o compartilhamento de métodos e atributos 
entre classes e subclasses, permitindo a criação de novas classes através da 
programação das diferenças entre a nova classe e a classe-pai. 
IV. O encapsulamento é um mecanismo que permite o acesso aos dados de um 
objeto somente através dos métodos desse. Nenhuma outra parte do programa pode 
operar sobre os dados do objeto. A comunicação entre os objetos é feita apenas 
através de troca de mensagens. 
Assinale a alternativa CORRETA: 
A) III e IV. 
B) I e II. 
C) II e IV. 
D) II e III. 
Questão 1 de 5 
2. O polimorfismo é um dos pilares da programação orientada a objetos, 
permitindo que objetos de diferentes classes sejam tratados através da mesma 
interface. Isso é alcançado através da sobrescrita de métodos, em que métodos com 
o mesmo nome podem ter diferentes comportamentos em classes diferentes. O 
polimorfismo facilita a extensão e a manutenção do código, promovendo a 
flexibilidade e a reutilização. 
Suponha que você está desenvolvendo um sistema de gerenciamento de animais em 
um zoológico. Você criou uma classe base Animal e duas subclasses, Cachorro e 
Gato, para representar diferentes tipos de animais. Cada subclasse implementa o 
método fazer_som de maneira diferente. 
class Animal: 
 def fazer_som(self): 
 pass 
class Cachorro(Animal): 
 def fazer_som(self): 
 return "Latido" 
class Gato(Animal): 
 def fazer_som(self): 
 return "Miau" 
Avalie as seguintes afirmações sobre polimorfismo e o código apresentado: 
I. O método fazer_som é um exemplo de polimorfismo, pois é definido na classe 
Animal e sobrescrito nas classes Cachorro e Gato. 
II. A classe Animal não pode ser instanciada diretamente, pois o método fazer_som 
não possui implementação. 
III. O polimorfismo permite que um objeto da classe Cachorro ou Gato seja tratado 
como um objeto da classe Animal. 
IV. O método fazer_som na classe Cachorro deve chamar super().fazer_som() para 
garantir o comportamento correto. 
Assinale a alternativa CORRETA: 
A) Apenas as afirmativas I e IV estão corretas. 
B) Apenas as afirmativas I, II e III estão corretas. 
C) Apenas as afirmativas II e IV estão corretas. 
D) Apenas as afirmativas I e III estão corretas. 
Questão 2 de 5 
 
3. Na programação orientada a objetos, a herança é um mecanismo que permite 
que uma classe herde atributos e métodos de outra classe. Existem diferentes tipos 
de herança, cada uma com suas características e usos específicos. Os principais 
tipos são: herança simples, onde uma classe herda de uma única classe base; 
herança múltipla, onde uma classe pode herdar de mais de uma classe base; 
herança multinível, onde uma classe herda de uma classe que já é derivada de 
outra; e herança hierárquica, onde uma classe serve como base para múltiplas 
subclasses. 
Qual das seguintes afirmações descreve corretamente a herança múltipla? 
A) Uma classe herda atributos e métodos de uma classe que já é derivada de 
outra classe. 
B) Uma classe serve como base para múltiplas subclasses. 
C) Uma classe herda atributos e métodos de uma única classe base. 
D) Uma classe herda atributos e métodos de mais de uma classe base. 
Questão 3 de 5 
 
4. A herança múltipla é um conceito em orientação a objetos onde uma classe 
pode herdar características (atributos e métodos) de mais de uma classe. Apesar de 
ser útil em alguns contextos, a herança múltipla pode causar problemas como o 
problema do diamante, em que uma classe herda de duas classes que, por sua vez, 
herdam de uma classe comum. Isso pode levar a ambiguidades sobre qual método 
ou atributo deve ser utilizado. 
Suponha que você está desenvolvendo um sistema para um simulador de animais. 
Você criou uma classe Animal, e duas classes Mamifero e Ave, que herdam de 
Animal. Em seguida, você cria uma classe Morcego que herda tanto de Mamifero 
quanto de Ave. O problema do diamante ocorre quando Morcego herda métodos ou 
atributos comuns de Mamifero e Ave, que foram herdados de Animal. 
class Animal: 
 def __init__(self, nome): 
 self.nome = nome 
 def mover(self): 
 return "Movendo-se" 
class Mamifero(Animal): 
 def __init__(self, nome): 
 super().__init__(nome) 
 def mover(self): 
 return "Correndo" 
class Ave(Animal): 
 def __init__(self, nome): 
 super().__init__(nome) 
 def mover(self): 
 return "Voando" 
class Morcego(Mamifero, Ave): 
 def __init__(self, nome): 
 super().__init__(nome) 
 def mover(self): 
 return "Voando e Correndo" 
Avalie as seguintes afirmações sobre herança múltipla e o problema do diamante no 
código apresentado: 
I. A classe Morcego herda atributos e métodos de ambas as classes Mamifero e Ave. 
II. O problema do diamante é resolvido em Python usando a ordem de resolução de 
método (MRO) para determinar qual método herdar. 
III. A chamada a super() no construtor da classe Morcego invoca o construtor da 
classe Mamifero. 
IV. A classe Animal deve ser explicitamente chamada na classe Morcego para evitar 
o problema do diamante. 
A) Apenas as afirmativas I e II estão corretas. 
B) Apenas as afirmativas I e IV estão corretas. 
C) Apenas as afirmativas I, II e III estão corretas. 
D) Apenas as afirmativas II e IV estão corretas. 
Questão 4 de 5 
 
5. O conceito de herança na programação orientada a objetos permite que uma 
classe (subclasse) herde atributos e métodos de outra classe (superclasse). Isso 
promove a reutilização de código e facilita a manutenção do sistema. Além disso, a 
herança possibilita a especialização de classes, permitindo que subclasses 
implementem comportamentos específicos. 
 
Suponha que você está desenvolvendo um sistema para uma escola de 
programação. Você criou uma classe base Curso e duas subclasses, 
CursoPresencial e CursoOnline, para representar os diferentes tipos de cursos 
oferecidos. 
class Curso: 
 def __init__(self, nome, duracao): 
 self.nome = nome 
 self.duracao = duracao 
 def descricao(self): 
 return f"Curso: {self.nome}, Duração: {self.duracao} horas" 
class CursoPresencial(Curso): 
 def __init__(self, nome, duracao, local): 
 super().__init__(nome, duracao) 
 self.local = local 
 def descricao(self): 
 return f"{super().descricao()}, Local: {self.local}" 
class CursoOnline(Curso): 
 def __init__(self, nome, duracao, plataforma): 
 super().__init__(nome, duracao) 
 self.plataforma = plataforma 
 def descricao(self): 
 return f"{super().descricao()}, Plataforma: {self.plataforma}" 
Avalie as seguintes afirmações sobre a herança e o código apresentado: 
I. A classe CursoPresencial herda os atributos nome e duração da classe Curso. 
II. O método descricaona classe CursoOnline sobrescreve o método descricao da 
classe Curso. 
III. A função super() é usada para chamar o construtor da superclasse dentro das 
subclasses. 
IV. A classe Curso é uma subclasse de CursoOnline. 
Assinale a alternativa CORRETA: 
A) Apenas as afirmativas I e IV estão corretas. 
B) Apenas as afirmativas II e IV estão corretas. 
C) Apenas as afirmativas I, II e III estão corretas. 
D) Apenas as afirmativas I e II estão corretas. 
 
Esta é a última questão de sua avaliação. 
Depois de clicar em "Responder e Concluir »" não será possível fazê-la novamente.

Mais conteúdos dessa disciplina