Sobes.tech
Junior

Dopo quali funzioni si può mettere un punto e continuare a chiamare il metodo successivo?

sobes.tech AI

Risposta dell'AI

Dopo funzioni che restituiscono un oggetto (incluso l'oggetto corrente) della stessa classe o di una classe con un'interfaccia simile che consente di continuare la catena di chiamate. Ciò è possibile grazie al pattern di progettazione Method Chaining.

Esempi di tali casi:

  • Getters che restituiscono un oggetto: oggetto.getProperty().anotherMethod()
  • Setters che restituiscono this: oggetto.setProperty(valore).anotherProperty(valore2)
  • Metodi che restituiscono un nuovo oggetto dello stesso tipo: oggetto.filter(...).sort(...)
  • Creazione e configurazione di oggetti: new Builder().step1().step2().build()
# Esempio di Method Chaining in Python
class Car:
    def __init__(self):
        self.color = None
        self.engine = None

    def set_color(self, color):
        self.color = color
        return self # Restituisce se stesso per continuare la catena

    def set_engine(self, engine):
        self.engine = engine
        return self

    def drive(self):
        print(f"Guidando una macchina {self.color} con un motore {self.engine}.")

# Uso di Method Chaining
my_car = Car().set_color("rosso").set_engine("V8")
my_car.drive()