joaopaulofcc

[IF] [PROG] Agregação - Pessoa

Nov 20th, 2018
200
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.46 KB | None | 0 0
  1. class Data:
  2.  
  3.     @property
  4.     def dia(self):
  5.         return self.__dia
  6.  
  7.     @property
  8.     def mes(self):
  9.         return self.__mes
  10.  
  11.     @property
  12.     def ano(self):
  13.         return self.__ano
  14.  
  15.     @dia.setter
  16.     def dia(self, novodia):
  17.         self.__dia = novodia
  18.  
  19.     @mes.setter
  20.     def mes(self, novomes):
  21.         self.__mes = novomes
  22.  
  23.     @ano.setter
  24.     def ano(self, novoano):
  25.         self.__ano = novoano
  26.  
  27.  
  28. class Endereco:
  29.  
  30.     @property
  31.     def logradouro(self):
  32.         return self.__logradouro
  33.  
  34.     @property
  35.     def numero(self):
  36.         return self.__numero
  37.  
  38.     @property
  39.     def bairro(self):
  40.         return self.__bairro
  41.  
  42.     @property
  43.     def cidade(self):
  44.         return self.__cidade
  45.  
  46.     @property
  47.     def estado(self):
  48.         return self.__estado
  49.  
  50.     @property
  51.     def cep(self):
  52.         return self.__cep
  53.  
  54.     @logradouro.setter
  55.     def logradouro(self, novolog):
  56.         self.__logradouro = novolog
  57.  
  58.     @numero.setter
  59.     def numero(self, novonum):
  60.         self.__numero = novonum
  61.  
  62.     @bairro.setter
  63.     def bairro(self, novobairro):
  64.         self.__bairro = novobairro
  65.  
  66.     @cidade.setter
  67.     def cidade(self, novacidade):
  68.         self.__cidade = novacidade
  69.  
  70.     @estado.setter
  71.     def estado(self, novoestado):
  72.         self.__estado = novoestado
  73.  
  74.     @cep.setter
  75.     def cep(self, novocep):
  76.         self.__cep = novocep
  77.  
  78. class Contato:
  79.  
  80.     @property
  81.     def telefoneResid(self):
  82.         return self.__telefoneResid
  83.  
  84.     @property
  85.     def celular(self):
  86.         return self.__celular
  87.  
  88.     @property
  89.     def email(self):
  90.         return self.__email
  91.  
  92.     @telefoneResid.setter
  93.     def telefoneResid(self, novotel):
  94.         self.__telefoneResid = novotel
  95.  
  96.     @celular.setter
  97.     def celular(self, novocelular):
  98.         self.__celular = novocelular
  99.  
  100.     @email.setter
  101.     def email(self, novoemail):
  102.         self.__email = novoemail
  103.  
  104. class Pessoa:
  105.  
  106.     def __init__(self, nome):
  107.         self.__nome = nome
  108.         self.__dataNasc = Data()
  109.         self.__endereco = Endereco()
  110.         self.__contato = Contato()
  111.  
  112.     @property
  113.     def nome(self):
  114.         return self.__nome
  115.  
  116.     @nome.setter
  117.     def nome(self, novonome):
  118.         self.__nome = novonome
  119.  
  120.     @property
  121.     def dataNasc(self):
  122.         return self.__dataNasc
  123.  
  124.     @property
  125.     def endereco(self):
  126.         return self.__endereco
  127.  
  128.     @property
  129.     def contato(self):
  130.         return self.__contato
  131.  
  132.  
  133. if __name__ == "__main__":
  134.  
  135.     # Cria uma lista para colocar objetos da classe Pessoa
  136.     listaPessoas = []
  137.  
  138.     # Dados da primeira Pessoa.
  139.     p01 = Pessoa("João Pedro")
  140.  
  141.     p01.contato.telefoneResid = "3321-1565"
  142.     p01.contato.celular = None # Não tem celular
  143.     p01.contato.email = "jo.pedro@hotmail.com"
  144.  
  145.     p01.endereco.logradouro = "Rua Teixeira Soares"
  146.     p01.endereco.numero = 354
  147.     p01.endereco.bairro = "Engenho de Serra"
  148.     p01.endereco.cidade = "Formiga"
  149.     p01.endereco.estado = "MG"
  150.     p01.endereco.cep = "35570-000"
  151.  
  152.     p01.dataNasc.dia = 10
  153.     p01.dataNasc.mes = 5
  154.     p01.dataNasc.ano = 1985
  155.  
  156.     # Dados da segunda Pessoa.
  157.     p02 = Pessoa("Maria Aparecida")
  158.  
  159.     p02.contato.telefoneResid = "3321-4545"
  160.     p02.contato.celular = "99154-7898"
  161.     p02.contato.email = None # Não tem email
  162.  
  163.     p02.endereco.logradouro = "Avenida Rio Branco"
  164.     p02.endereco.numero = 1200
  165.     p02.endereco.bairro = "Centro"
  166.     p02.endereco.cidade = "Pains"
  167.     p02.endereco.estado = "MG"
  168.     p02.endereco.cep = "32897-115"
  169.  
  170.     p02.dataNasc.dia = 9
  171.     p02.dataNasc.mes = 10
  172.     p02.dataNasc.ano = 1962
  173.  
  174.     # Insere as duas pessoas criadas na lista.
  175.     listaPessoas.append(p01)
  176.     listaPessoas.append(p02)
  177.  
  178.     # Imprime os dados das duas pessoas. Como cada uma delas está na
  179.     # lista basta dar print uma vez dentro de um for.
  180.  
  181.     for pessoa in listaPessoas:
  182.         print("---------- Dados Pessoais ----------")
  183.         print("Nome: %s" %pessoa.nome)
  184.         print("Nascimento: %d/%d/%d" %(pessoa.dataNasc.dia, pessoa.dataNasc.mes, pessoa.dataNasc.ano))
  185.         print("Endereco: %s, %d - %s, %s/%s. CEP: %s" %(pessoa.endereco.logradouro, pessoa.endereco.numero, pessoa.endereco.bairro, pessoa.endereco.cidade, pessoa.endereco.estado, pessoa.endereco.cep))
  186.         print("Telefone Residencial: %s" %pessoa.contato.telefoneResid)
  187.         print("Telefone Celular: %s" %pessoa.contato.celular)
  188.         print("Email: %s" %pessoa.contato.email)
  189.         print("\n")
Add Comment
Please, Sign In to add comment