Sobes.tech
Junior

Hansı funksiyalardan sonra nöqtə qoymaq və növbəti metodu çağırmağa davam etmək olar?

sobes.tech Süni İntellekt

AI-dan cavab

Eyni sinifin və ya oxşar interfeysə malik başqa bir sinifin obyektini qaytaran funksiyaların ardınca, çağrı zəncirini davam etdirməyə imkan verən funksiyalar. Bu, Method Chaining dizayn nümunəsi sayəsində mümkündür.

Belə hallara nümunələr:

  • Obyekt qaytaran getterlər: obyekt.getProperty().anotherMethod()
  • this-i qaytaran setterlər: obyekt.setProperty(dəyər).anotherProperty(dəyər2)
  • Eyni növ yeni obyekt qaytaran metodlar: obyekt.filter(...).sort(...)
  • Obyektlərin yaradılması və konfiqurasiyası: new Builder().step1().step2().build()
# Python-da Method Chaining nümunəsi
class Car:
    def __init__(self):
        self.color = None
        self.engine = None

    def set_color(self, color):
        self.color = color
        return self # Zənciri davam etdirmək üçün özünü qaytarır

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

    def drive(self):
        print(f"{self.color} maşını sürür, mühərriki {self.engine}.")

# Method Chaining istifadəsi
my_car = Car().set_color("qırmızı").set_engine("V8")
my_car.drive()