TypeScript 3. Bölüm: Sınıflar
Sınıflar
JavaScript fonksiyonlara ve prototip bazlı kalıtımlara odaklandığından dolayı ben dahil olmak üzere nesne tabanlı programlamayla daha haşır neşir olmuş olan çoğu kişiye bir miktar garip gelmiştir.
JavaScript nesne tabanlı yaklaşıma ECMAScript 6 ile geçmeye başlasa da TypeScript bu yönteme şimdiden olanak tanıyor.
Buradaki sınıflar temel olarak diğer nesne tabanlı dillerdeki çeşitleriyle aynı. Basit bir örnek ile inceleyelim;
1 | class SinifIsmi { |
Görüldüğü üzere yazım şeklindeki ufak farklılıklar dışında neredeyse diğer dillerdeki çeşitleriyle aynı.
NOT: … olarak bıraktığım kısımlar çeşitlendirilebilir/çoğaltılabilir olduğu için öyle yazdım.
Erişim Belirteçleri
Yine bu konuda da nesne tabanlı yapıya uygun olarak 3 tip erişim belirteci var.
Bunlar diğer dillerden de aşina olabileceğiniz üzere public, private ve protected.
Erişim belirteci belirtilmediği durumlarda varsayılan olarak public atanır.
- private erişim belirtecine sahip üyeler bulundukları sınıf dışarısında kullanılamazlar.
- public erişim belirtecine sahip üyeler bulundukları sınıf dışarısından da erişilebilirler.
- protected erişim belirtecine sahip üyeler bulundukları sınıfta ve o sınıftan türetilmiş sınıflarda kullanılabilirler.
Kalıtım
Nesne tabanlı programlamanın yapı taşı olan sınıflar arasındaki kalıtımsal ilişkiler ile ilgili diğer serilerde verdiğim basit örnek ile inceleyelim;
1 | // ana sınıfımız |
Çıktımız şu şekilde olacaktır;
1 | Biricik Uçuyor... |
Böylece TypeScript üzerinde sınıf ve kalıtım konseptleri ve yazılımları üzerinden yüzeysel olarak da olsa geçmiş olduk.
Sonraki bölüm: TypeScript - 4. Bölüm: Arayuzler