TypeScript – Get ve Set Property Kullanımı

Merhaba,

Her Object-Oriented Programming(OOP) yaklaşımını benimseyen programlama dilinde olduğu gibi sınıf elemanlarından get ve set propertyleri TypeScript dilinde de mevcuttur. Haliyle bu içeriğimizde ilgili yapıların TypeScript’te nasıl oluşturulduğunu ve kullanıldığını inceleyeceğiz.

Öncelikle property dediğimiz sınıf elemanının yapısının ne olduğuna değinerek başlayalım. Property; tanımsal açıdan ne kadar kendine has bir özellik göstersede esasında bir fonksiyonel fıtratta bir yapıya sahiptir. İşlevsel açıdan dışardan gelecek veriyi karşılayacak olan “set” ve dışarıya veri gönderecek “get” olmak üzere iki tipi mevcuttur.

TypeScript’te get ya da set property’si oluşturabilmek için fonksiyon yapılarından faydalanılmaktadır. Hangi tipte property tanımlanacaksa fonksiyon başına “get” ya da “set” keywordlerinin belirtilmesi yeterlidir.

Bu bilgiler eşliğinde aşağıdaki örnek tanımlamayı inceleyiniz.

export class ExampleMember {
    private _x: string;
    public get xGet() {
        return this._x;
    }
    public set xSet(text: string) {
        this._x = text;
    }
}

Yukarıdaki örnek tanımlamada olduğu gibi sırasıyla get ve set özelliği gösteren “xGet” ve “xSet” propertyleri tanımlanmıştır.

export class AppComponent {
  constructor() {
    let instance: ExampleMember = new ExampleMember();
    instance.xSet = "Hello";
    alert(instance.xGet)
  }
}

Burada ise tanımlanmış propertylerin nasıl kullanıldığı örneklendirilmiştir.

Bir field’a özel oluşturulan get ve set propertylerinin isimleri farklı olmak zorunda değildir! Aynı olabilir.

export class ExampleMember {
    private _x: string;
    public get x() {
        return this._x;
    }
    public set x(text: string) {
        this._x = text;
    }
}

export class AppComponent {
  constructor() {
    let instance: ExampleMember = new ExampleMember();
    instance.x = "Hello";
    alert(instance.x)
  }
}

Burada compiler ayrım olarak propertylerin get ya da set tipine göre elemanın yapısını ayırt etmekte ve kullanım tarzına görede yapıyı seçmektedir.

İlgilenenlerin faydalanması dileğiyle…

Sonraki yazılarımda görüşmek üzere…
İyi çalışmalar…

Bunlar da hoşunuza gidebilir...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir