@property - um getter no modo Pythônico
This commit is contained in:
60
aula131.py
60
aula131.py
@@ -1,3 +1,57 @@
|
|||||||
# Abstração, Herança, Polimorfismo e Encapsulamento
|
# @property - um getter no modo Pythônico
|
||||||
# Abstrair é organizar de forma simplificada um
|
# getter - um método para obter um atributo
|
||||||
# conjunto de características que determinado objeto deve ter.
|
# 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())
|
||||||
|
|||||||
Reference in New Issue
Block a user