Questão #11611142014

Arquitetura de Software (TI) — provimentos (nomeação, promoção, readaptação, reversão, reintegração, recondução e aproveitamento)

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