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