Junior
Pärast milliseid funktsioone saab panna punkti ja jätkata järgmise meetodi väljakutset?
sobes.tech AI
Vastus AI-lt
Sama klassi või sarnase liidesega klassi objekti tagastavad funktsioonid, mis võimaldavad jätkata kutsesüsteemi ahelat. See on võimalik tänu disainimustrile Method Chaining.
Selliste juhtumite näited:
- Getterid, mis tagastavad objekti:
objekt.getProperty().anotherMethod() - Setterid, mis tagastavad
this:objekt.setProperty(väärtus).anotherProperty(väärtus2) - Meetodid, mis tagastavad uue objekti sama tüüpi:
objekt.filter(...).sort(...) - Objektide loomine ja seadistamine:
new Builder().step1().step2().build()
# Näide Method Chaining Pythonis
class Car:
def __init__(self):
self.color = None
self.engine = None
def set_color(self, color):
self.color = color
return self # Tagastab iseenda, et jätkata ahelat
def set_engine(self, engine):
self.engine = engine
return self
def drive(self):
print(f"Sõitma {self.color} autoga, mille mootor on {self.engine}.")
# Method Chaining kasutamine
my_car = Car().set_color("punane").set_engine("V8")
my_car.drive()