SóProvas


ID
1119388
Banca
FGV
Órgão
DPE-RJ
Ano
2014
Provas
Disciplina
Programação
Assuntos

Considere o seguinte trecho de um programa escrito na linguagem Python.

class Carro(object):
def FaleComigo(self):
print "Sou um carro"

class Fusca (Carro):
def FaleComUmFusca(self):
print "Sou um Fusca"

x = Carro()
y = Fusca()

x.FaleComigo()
y.FaleComigo()

No primeiro bloco, o método FaleComigo é definido para a classe Carro, que simplesmente produz a mensagem “Sou um carro” ao ser invocado. Para a classe Fusca, definida no segundo bloco, foi definido o método FaleComUmFusca, que apenas produz a mensagem “Sou um Fusca”. No terceiro bloco, os objetos x e y tornam-se instâncias das classes Carro e Fusca, respectivamente. No quarto bloco, o método FaleComigo é invocado para cada um dos dois objetos, x e y. Ao ser executado, esse programa produz duas linhas na sua tela de saída:

Sou um carro
Sou um carro

A mensagem produzida no comando y.FaleComigo deve-se ao mecanismo de

Alternativas
Comentários
  • Deve-se atentar que, apesar de ter sido instanciado um objeto fusca:  y = Fusca() ; Ao final do código, o programa chama um método implementado na superclasse, através de um objeto da subclasse. Essa capacidade é derivada do mecanismo de herança, onde todas as características, inclusive os métodos, da superclasse são herdados pela subclasse.


    A letra E deve ter gerado dúvida mas, só seria o gabarito caso o método FaleComUmFusca(self) fosse denominado como FaleComigo(self). Aí teríamos um caso de polimorfismo dinâmico, onde a escolha do método a ser utilizado se dá em tempo de execução, com base no objeto instanciado.
  • Herança é o mecanismo pelo qual estendemos a funcionalidade de uma classe. Por exemplo, suponha que a gente precise representar veículos de diferentes marcas e modelos em um programa. Uma abordagem é criar uma classe para representar cada veículo diferente.

    Fonte: https://algoritmosempython.com.br/

    No caso em tela, FUSCA é um tipo de CARRO, herdando o estado e comportamento da classe CARRO.