from classes import Cliente # Observar que, como os endereços estão associados por composição à classe Cliente, # ao deletar um cliente, os endereços são deletados juntos. c1 = Cliente('Luiz', 32) c1.inserir_endereco('Belo Horizonte', 'MG') print(c1.nome) c1.listar_enderecos() del c1 print() c2 = Cliente('Maria', 55) c2.inserir_endereco('Salvador', 'BA') c2.inserir_endereco('Rio de Janeiro', 'RJ') print(c2.nome) c2.listar_enderecos() print() c3 = Cliente('João', 19) c3.inserir_endereco('São Paulo', 'SP') print(c3.nome) c3.listar_enderecos() print() print('#########################################')
from classes import Cliente cliente1 = Cliente('Lucas', 19) cliente1.inserir_endereco('São Paulo', 'SP') cliente1.listar_enderecos() print() cliente2 = Cliente('Maria', 25) cliente2.inserir_endereco('Salvador', 'BA') cliente2.inserir_endereco('Feira de Santana', 'BA') cliente2.listar_enderecos() del cliente2 # quando o cliente 2 for apagado, os endereços também serão, pois a classe endereco PERTENCE a classe cliente print() cliente3 = Cliente('Carlos', 23) cliente3.inserir_endereco('Belo Horizonte', 'MG') cliente3.inserir_endereco('Montes Claros', 'MG') cliente3.listar_enderecos() print() print('#' * 100) # fim do codigo
#COMPOSIÇÃO É O TIPO MAIS FORTE DE RELAÇÃO ENTRE CLASSES, POIS UMA CLASSE PODE SER O DONO DE OBJETOS DE UMA OUTRA CLASSE #CASO ESSA CLASSE SEJA APAGADA OS OBJETOS TAMBÉM NÃO FUNCIONARÃO MAIS EM OUTRA CLASSE from classes import Cliente #OBJETO DA CLASSE CLIENTE QUE UTILIZA DADOS DA CLASSE ENDERECO, CASO O OBJETO CLIENTE SEJA DELETADO O OBJETO DE ENDERECO #TAMBÉM SERÁ DELETADO c1 = Cliente('Yago', 27) c1.inserir_endereco('São Paulo', 'SP') print(c1.nome) c1.lista_enderecos() del c1 c2 = Cliente('Robert', 32) c2.inserir_endereco('Rio de Janeiro', 'RJ') print(c2.nome) c2.lista_enderecos() del c2 c3 = Cliente('Ana', 19) c3.inserir_endereco('Curitiba', 'PR') print(c3.nome) c3.lista_enderecos() print('##################################################') #CASO O OBJETO NÃO FOSSE DELETADO MANUALMENTE O GARBAGE COLLECTOR DELETA OS OBJETOS DEVIDO AOS MÉTODOS INSTANCIADOS
#Composição from classes import Cliente, Endereco cliente01 = Cliente('Luiz', 32) cliente01.inserir_endereco('Lins', 'SP') print(cliente01.nome) cliente01.lista_enderecos() print() cliente02 = Cliente('Lucas', 20) cliente02.inserir_endereco('Belo Horizonte', 'MG') cliente02.inserir_endereco('Rio de Janeiro', 'RJ') print(cliente02.nome) cliente02.lista_enderecos() print() cliente03 = Cliente('João', 20) cliente03.inserir_endereco('São Paulo', 'SP') print(cliente03.nome) cliente03.lista_enderecos() print() print('###############################S')