Sobes.tech
Junior

Μετά από ποιες λειτουργίες μπορείτε να βάλετε τελεία και να συνεχίσετε την κλήση της επόμενης μεθόδου;

sobes.tech AI

Απάντηση από AI

Μετά από λειτουργίες που επιστρέφουν ένα αντικείμενο (συμπεριλαμβανομένου του τρέχοντος αντικειμένου) της ίδιας κλάσης ή μιας κλάσης με παρόμοιο διεπαφή που επιτρέπει τη συνέχιση της αλυσίδας κλήσεων. Αυτό είναι δυνατό χάρη στο μοτίβο σχεδιασμού Method Chaining.

Παραδείγματα τέτοιων περιπτώσεων:

  • Getters που επιστρέφουν ένα αντικείμενο: αντικείμενο.getProperty().anotherMethod()
  • Setters που επιστρέφουν this: αντικείμενο.setProperty(τιμή).anotherProperty(τιμή2)
  • Μέθοδοι που επιστρέφουν ένα νέο αντικείμενο του ίδιου τύπου: αντικείμενο.filter(...).sort(...)
  • Δημιουργία και διαμόρφωση αντικειμένων: new Builder().step1().step2().build()
# Παράδειγμα Method Chaining στην Python
class Car:
    def __init__(self):
        self.color = None
        self.engine = None

    def set_color(self, color):
        self.color = color
        return self # Επιστρέφει τον εαυτό του για συνέχιση της αλυσίδας

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

    def drive(self):
        print(f"Οδήγηση ενός {self.color} αυτοκινήτου με κινητήρα {self.engine}.")

# Χρήση του Method Chaining
my_car = Car().set_color("κόκκινο").set_engine("V8")
my_car.drive()