-
Notifications
You must be signed in to change notification settings - Fork 165
/
Copy pathaula136.py
45 lines (33 loc) · 1.23 KB
/
aula136.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# Relações entre classes: associação, agregação e composição
# Composição é uma especialização da agregação.
# Mas nela, quando o objeto "pai" for apagado, todas
# as referências dos objetos filhos também são
# apagadas.
class Cliente:
def __init__(self, nome):
self.nome = nome
self.enderecos = []
def inserir_endereco(self, rua, numero):
self.enderecos.append(Endereco(rua, numero))
def inserir_endereco_externo(self, endereco):
self.enderecos.append(endereco)
def listar_enderecos(self):
for endereco in self.enderecos:
print(endereco.rua, endereco.numero)
def __del__(self):
print('APAGANDO,', self.nome)
class Endereco:
def __init__(self, rua, numero):
self.rua = rua
self.numero = numero
def __del__(self):
print('APAGANDO,', self.rua, self.numero)
cliente1 = Cliente('Maria')
cliente1.inserir_endereco('Av Brasil', 54)
cliente1.inserir_endereco('Rua B', 6745)
endereco_externo = Endereco('Av Saudade', 123213)
cliente1.inserir_endereco_externo(endereco_externo)
cliente1.listar_enderecos()
del cliente1
print(endereco_externo.rua, endereco_externo.numero)
print('######################## AQUI TERMINA MEU CÓDIGO')