Sobes.tech
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()