Sobes.tech
Junior

Hangi fonksiyonlardan sonra nokta koyup bir sonraki yöntemi çağırmaya devam edilebilir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Aynı sınıfın veya benzer bir arayüze sahip başka bir sınıfın nesnesini döndüren fonksiyonların ardından, çağrı zincirini devam ettirmeye olanak tanıyan fonksiyonlar. Bu, Method Chaining tasarım deseni sayesinde mümkündür.

Böyle durumlara örnekler:

  • Nesne döndüren getterlar: nesne.getProperty().anotherMethod()
  • this döndüren setterlar: nesne.setProperty(değer).anotherProperty(değer2)
  • Aynı türden yeni nesne döndüren metodlar: nesne.filter(...).sort(...)
  • Nesnelerin oluşturulması ve yapılandırılması: new Builder().step1().step2().build()
# Python'da Method Chaining örneği
class Car:
    def __init__(self):
        self.color = None
        self.engine = None

    def set_color(self, color):
        self.color = color
        return self # Zinciri devam ettirmek için kendisini döner

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

    def drive(self):
        print(f"{self.color} bir araba sürüyor, motoru {self.engine}.")

# Method Chaining kullanımı
my_car = Car().set_color("kırmızı").set_engine("V8")
my_car.drive()