Junior
რომელ ფუნქციებს შემდეგ წერტილი უნდა დაუსვათ და შემდეგი მეთოდის გამოძახება განაგრძოთ?
sobes.tech AI
პასუხი AI-სგან
სწორედ იგივე კლასი ან მსგავსი ინტერფეისის მქონე კლასი, რომელიც აბრუნებს ობიექტს (მათ შორის მიმდინარე ობიექტს), რაც საშუალებას იძლევა მოწოდების ჯაჭვის გაგრძელება. ეს შესაძლებელია დიზაინის ნიმუშის Method Chaining-ის საშუალებით.
ასეთი შემთხვევების მაგალითები:
- გეტერები, რომლებიც აბრუნებენ ობიექტს:
ობიექტი.getProperty().anotherMethod() this-ს აბრუნებადი სეტერები:ობიექტი.setProperty(მნიშვნელობა).anotherProperty(მნიშვნელობა2)- მეთოდები, რომლებიც აბრუნებენ ახალი ობიექტს იგივე ტიპის:
ობიექტი.filter(...).sort(...) - ობიექტების შექმნა და კონფიგურაცია:
new Builder().step1().step2().build()
# Python-ში Method Chaining-ის მაგალითი
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()