diff --git a/aula131.py b/aula131.py index e960bef..4a2b125 100644 --- a/aula131.py +++ b/aula131.py @@ -1,3 +1,57 @@ -# Abstração, Herança, Polimorfismo e Encapsulamento -# Abstrair é organizar de forma simplificada um -# conjunto de características que determinado objeto deve ter. +# @property - um getter no modo Pythônico +# getter - um método para obter um atributo +# cor -> get_cor() +# modo pythônico - modo do Python de fazer coisas +# @property é uma propriedade do objeto, ela +# é um método que se comporta como um +# atributo 🤯 🤯 🤯 +# Geralmente é usada nas seguintes situações: +# - como getter +# - p/ evitar quebrar código cliente +# - p/ habilitar setter +# - p/ executar ações ao obter um atributo +# Código cliente - é o código que usa seu código +class Caneta: + def __init__(self, cor): + self.cor_tinta = cor + + @property + def cor(self): + print('PROPERTY') + return self.cor_tinta + + @property + def cor_tampa(self): + return 123456 + +########################### + + +caneta = Caneta('Azul') +print(caneta.cor) +print(caneta.cor) +print(caneta.cor) +print(caneta.cor) +print(caneta.cor) +print(caneta.cor) +print(caneta.cor_tampa) + +##################################### + +# class Caneta: +# def __init__(self, cor): +# self.cor_tinta = cor + +# def get_cor(self): +# print('GET COR') +# return self.cor_tinta + +# ########################### + + +# caneta = Caneta('Azul') +# print(caneta.get_cor()) +# print(caneta.get_cor()) +# print(caneta.get_cor()) +# print(caneta.get_cor()) +# print(caneta.get_cor())