Relações entre classes: associação, agregação e composição
This commit is contained in:
39
aula134.py
Normal file
39
aula134.py
Normal file
@@ -0,0 +1,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())
|
||||
Reference in New Issue
Block a user