Bir sınıf sadece tek bir sınıftan miras alabilir. Fakat birden fazla interfaceyi impelemente edebilir. Abstract ve İnterfacenin en büyük farkı budur.
ABSTRACT CLASS
Bir base sınıfta var olan metot yada propertynin işleyişi kalıtım alan sınıflarda ihtiyaca göre değiştirilmesi gereken durumlarda kullanılır.
- Abstract bir sınıf içindeki abstract keywordu ile işaretlenmiş metodların gövdesi boş olur. Bu metodlar abstract sınıftan türeyen subclasslar tarafından override edilerek yazılmalıdır.
- Absract sınıflardan nesne üretilemez.
- Absract sınıf içinde abstract olmayan metot yazılabilir.
- Absract olmayan sınıf içinde abstract metot yazılamaz.
- Absract sınıfların constructeri vardır.
- Absract sınıf içinde private eleman olamaz.
- Abstract sınıf içinde static keywordu kullanılabilir.
İNTERFACE
Kendisini kalıtım alan sınıfların içinde olması zorunlu olan yapıları gövdeleri boş olarak tanımlar. Tek görevi budur.
- İnterface içinde olan tüm metotlar kalıtım alan sınıflar tarafından implemente edilip gövdeleri doldurulmak zorundadır
- Bir sınıf sadece tek bir sınıftan miras alabilir fakat sınırsız sayıda interfaceyi implemente edebilir.
- Interface içinde metot, property ve indexer gibi yapılar olabilir.
- İnterfacelerin constructerı yoktur.
- İnterfacelerden nesne üretilemez.
- İnterface içerisinde static yapılar olamaz.
Hiç yorum yok:
Yorum Gönder