• Matéria: Informática
  • Autor: douglas39510
  • Perguntado 3 anos atrás

1. Escreva um código que apresente a classe Pessoa, com atributos nome, endereço e telefone e, no metodo imprimir. O método imprimir deve mostrar na tela os valores de todos os atributos

2. Baseando-se no exercício 1 adicione um método construtor que permita a definição de todos os atributos no momento da instanciação do objeto


MoisesCunha0: Alguma linguagem de programação específica?
douglas39510: python

Respostas

respondido por: MoisesCunha0
1

1)

class Pessoa(object):

   def __init__(self):

      self.nome = ""

      self.endereco = ""

      self.telefone = ""

   def imprimir(self):

      print("Nome: %s\nEndereço: %s\nTelefone: %s" % (self.nome, self.endereco, self.telefone))

2)

class Pessoa(object):

   def __init__(self, nome, endereco, telefone):

      self.nome = nome

      self.endereco = endereco

      self.telefone = telefone

   def __init__(self):

      self.nome = ""

      self.endereco = ""

      self.telefone = ""

   def imprimir(self):

      print("Nome: %s\nEndereço: %s\nTelefone: %s" % (self.nome, self.endereco, self.telefone))


douglas39510: foi a mesma coisa que pensei e fiz mas esse exercício é um dos exercícios de herança e polimorfismo de POO e achei estranho que todos os exercícios sejam assim, com um exercício dizendo algo e um logo depois dizendo para adicionar o método construtor sendo que se pode fazer isso no próprio exercício anterior. Acho que estou fazendo o errado...
douglas39510: Mas, obrigado pela resposta!
MoisesCunha0: Na primeira ele tem atributos de classe, na segunda ele tem atributos de instância
MoisesCunha0: Basta colocar dois construtores na segunda questão
MoisesCunha0: Deixa esse que já está na resposta da 2) e acrescenta um construtor que apenas recebe o "self", e você atribui uma string vazia para cada atributo dentro desse novo construtor
MoisesCunha0: Reveja a resposta novamente
MoisesCunha0: Agora tem o polimorfismo
MoisesCunha0: Na 1) ele tem o construtor que somente atribui vazio aos atributos, na 2) ele tem a sobrecarga do construtor, então você pode criar um objeto com atributos vazios ou definir os atributos pelo construtor do objeto
MoisesCunha0: E tem herança kkdksdk pois toda classe herda de "object", mesmo que você não coloque isso explicitamente
Perguntas similares