Files
cursopython2023/aula134.py

40 lines
1.2 KiB
Python

# 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())