FC ConcursosFC Concursos

Questão FC331190

Analise o código Python 2.7 a seguir. Sabe-se que a execução desse código produziu as duas linhas a seguir. Av Brasil, 243 Floresta Av Miracema, 12 Centro, apto 3 Assinale a opção

Linguagens de Programação

FGV · 2018

Analise o código Python 2.7 a seguir.

 

 

Sabe-se que a execução desse código produziu as duas linhas a seguir.

 

Av Brasil, 243 Floresta
Av Miracema, 12 Centro, apto 3

 

Assinale a opção que apresenta a correta definição para o método Endereco  na classe End_com.

  1. return self.Endereco()+ ", " + self.com

  2. return End_simples.Endereco() \     + ", " +  self.com

  3. return super(End_com, self).Endereco() \     + ", " +  self.com

  4. return parent(End_com, self).Endereco() \     + ", " +  self.com

  5. Return self.parent.Endereco() \     + ", " +  self.com

Mostrar resposta e comentário

Gabarito

Certo

Comentário do professor

A alternativa correta retorna a string construída a partir do método da superclasse e do atributo adicional da subclasse:

return super(End_com, self).Endereco() + ", " + self.com

Aqui super(End_com, self).Endereco() chama o método Endereco definido na classe-pai, obtendo o endereço base (por exemplo: "Av Brasil, 243 Floresta").

Em seguida há a concatenação com ", " + self.com, que acrescenta o complemento comercial armazenado em self.com (por exemplo: "apto 3" ou "Centro, apto 3"), formando a linha completa.

Essa forma é a correta em Python 2.7, pois super recebe explicitamente a classe da subclasse e a instância (End_com, self) para localizar o método da superclasse.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo