-
Notifications
You must be signed in to change notification settings - Fork 157
/
aula134.py
39 lines (31 loc) · 1.16 KB
/
aula134.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
# Relações entre classes: associação, agregação e composição
# Associação é um tipo de relação onde os objetos
# estão ligados dentro do sistema.
# Essa é a relação mais comum entre objetos e tem subconjuntos
# como agregação e composição (que veremos depois).
# Geralmente, temos uma associação quando um objeto tem
# um atributo que referencia outro objeto.
# A associação não especifica como um objeto controla
# o ciclo de vida de outro objeto.
class Escritor:
def __init__(self, nome) -> None:
self.nome = nome
self._ferramenta = None
@property
def ferramenta(self):
return self._ferramenta
@ferramenta.setter
def ferramenta(self, ferramenta):
self._ferramenta = ferramenta
class FerramentaDeEscrever:
def __init__(self, nome):
self.nome = nome
def escrever(self):
return f'{self.nome} está escrevendo'
escritor = Escritor('Luiz')
caneta = FerramentaDeEscrever('Caneta Bic')
maquina_de_escrever = FerramentaDeEscrever('Máquina')
escritor.ferramenta = maquina_de_escrever
print(caneta.escrever())
print(maquina_de_escrever.escrever())
print(escritor.ferramenta.escrever())