Java 8 / Interface

bora

Java 8 ile birlikte Interface kavramına ciddi özellikler kazandırılmıştır. Aslında bu versiyona kadar Interface içerisinde soyut methodlar yazılır , implementasyon yapılmaz ve de tanımlanan tüm değişkenler static ve finaldır kavramlarını bilmekteydik.

Interfacelere artık body si olan metodlar ekleyebiliyoruz ve implement eden class ların bu metodu override etme zorunluluğu ortadan kaldırılıyor.

Aşağıdaki örnek ile açıklayalım :

Yıllardır iş görüşmelerinde sorulan “Interface ile Abstract class arasındaki farklara örnek verir misiniz ?” şeklinde gelen soruya, interface içerisinde body si olan metod yazılamaz fakat abstract class lar içerisinde bu yapılabilir şeklinde cevap verdiniz biliyorum, artık sakın vermeyin 🙂

Interface lere eklenen bir diğer özellik de artık içerisine static metodlar eklenebilmesi .

Şöyle bir örnek ile açıklamaya çalışalım.

Bu özelliklerin getirisi şu an için hala çeşitli platformlarda tartışılmaktadır. Abstract class larda olan metod implement edebilme özelliğinin aslında abstract classları taca atmadığı , hatta interface içerisinde gerçeklenemeyen basit impl işlemleri sebebi ile tasarımı karmaşık hale getirerek yaptığımız abstraction işlemlerinden bizi kurtarabileceği ve daha temiz tasarımlar yapılabileceği düşünülebilir.

Ayrıca default metodlar sayesinde, örneğin java.util.Collection sınıfı içerisine yeni eklenen forEach, removeIf gibi metodların , mevcutta bu interfacei implement eden diğer sınıfların compile olamaması gibi sorunlarının önüne geçmektedir. Geriye dönük uyumluluk için de geçiş özelliklerinden birisi gözüyle bakılmalıdır.

Java 8 ile ilgili yeniliklerden bahsetmeye devam edeceğiz.

Tags: , , , ,

One Reply to “Java 8 / Interface”

  1. Hello there,

    My name is Aly and I would like to know if you would have any interest to have your website here at yelloware.com.tr promoted as a resource on our blog alychidesign.com ?

    We are in the midst of updating our broken link resources to include current and up to date resources for our readers. Our resource links are manually approved allowing us to mark a link as a do-follow link as well
    .
    If you may be interested please in being included as a resource on our blog, please let me know.

    Thanks,
    Aly

Bir cevap yazın