Junior
Após quais funções pode-se colocar um ponto e continuar a chamada do próximo método?
sobes.tech IA
Resposta da IA
Após funções que retornam um objeto (incluindo o próprio objeto) da mesma classe ou de uma classe com uma interface semelhante que permite continuar a cadeia de chamadas. Isso é possível graças ao padrão de design Method Chaining.
Exemplos de tais casos:
- Getters que retornam um objeto:
obj.getProperty().anotherMethod() - Setters que retornam
this:obj.setProperty(valor).anotherProperty(valor2) - Métodos que retornam um novo objeto do mesmo tipo:
obj.filter(...).sort(...) - Criação e configuração de objetos:
new Builder().step1().step2().build()
# Exemplo de Method Chaining em Python
class Car:
def __init__(self):
self.color = None
self.engine = None
def set_color(self, color):
self.color = color
return self # Retorna a si mesmo para continuar a cadeia
def set_engine(self, engine):
self.engine = engine
return self
def drive(self):
print(f"Dirigindo um carro {self.color} com um motor {self.engine}.")
# Uso de Method Chaining
my_car = Car().set_color("vermelho").set_engine("V8")
my_car.drive()