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()