Yazılım dünyasında bir birbirine çok benzeyen iki yapıdır interfaceler ve absract classlar. Bu yazımda sizlere bu iki yapının temel de ne olduğunu ve birbirinden ayırt edici özelliklerini özetlemeye çalışacağım.Bu iki temel konu yazılım dünyasına nesneye dayalı programlama ile girip kalıtımın temel taşlarındandır. İlk öncelikle interfacelerden başlayalım. Interfaceler yapı olarak classlara benzerler kendilerine ait özellikler ve metotları vardır. Fakat classlardan farkı metotların sadece tanımlamaları yapılmıştır. Metotların içeriside kod bulunamaz. Interfacelerin instanceları üretilemez. Interfaceler kendisinden türeyen classlara şablon görevi üstlenir. Bir interfaceden türeyen bir class o interfacede tanımlı tüm özellikleri ve metotları içermelidir. Abstract classların da interfaceler gibi instanceları yaratılamaz. Abstract classlar da kendinden türeyen classlara şablon görevi üstlenir. Abstract classlar içerisinde abstract olan veya olmayan metotlar bulundurabilir. Şöyle ki bir abtract classımız olsun. İçerisinde iki adet metotu olsun. Bu metotlardan bir tanesi abstract (metodun sadece tanımı mevcut kod içermiyor) diğeride abstract olmayan normal bir metot olsun. Bu abstract sınıftan türeyen bir sınıf oluşturalım. Bu sınıf içerisinde abstract sınıfın abstract metotlarını override edilebilir. Abstract sınıflarda yer alan her bir abstract metotun overrirde edilmesi zorunluluğu söz konusu değildir. Abstract sınıftan türeyen sınıfların instanceları abstract sınıfına ait abstract olmayan metotları kullanabilirler.
Kolay gelsin.
Kolay gelsin.
Comments