interface etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
interface etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

30 Temmuz 2020 Perşembe

in ve out ile Generic Inteface Kullanımı

S.A. Arkadaşlar,
    Bugün generic interface kullanımını ilgilendiren bir yazıyı ele alacağız. Bu yazının çıkış noktası ise önceki yazımızda ele aldığım sonarlint’in verdiği uyarıları çözmek ile ilgiliydi. Burada karşılaştığım bu uyarıyı araştırırken güzel bilgiler öğrendim ve bunları bir yazıda toplamaya karar verdim. 

17 Kasım 2019 Pazar

Angular Çalışma Notlarımdan - 2 (ng generate yapıları)

     S.A. Arkadaşlar,
     Angular serimizin ikinci yazısı olan ng generate yapılarından olan module, component, service, directive, pipe gibi kavramlarını inceleyeceğiz. Serinin ilk yazısına buradan erişebilirsiniz.  Yazıya başlamadan önce rastladığım güzel bir örneği anlatmak istiyorum. Uygulamanızı bir bina olarak düşünün. Bina içerisinde birden çok bölüm olabilir (module).Bölüm içersinde Angular'ın yapı taşı olan odalar(component) yer alır. Binalar içinde ve binalara arası daha rahat etmek için taşıyıcılar(service) yer alır. Bölümler arası hizmeti kullanışlı hale getirmek için de pipe'ler yer alır. Ayrıca site içinde havuz, spor salonu gibi ortak kullanım alanları vardır(shared module). Şimdi artık bu kavramları daha ayrıntılı olarak ele alalım.

5 Ekim 2016 Çarşamba

Developer Mülakat Soruları

      S.a. arkadaşlar,
Uzun bir aradan sonra tekrar ilk kez yazıyorum. Bugün yazacağım konu direkt java ile ilgili bir konu değil. Mülakatlarda karşılaştığım ve farklı sitelerden derlediğim java mülakat sorularını ele alıp yine kendimizce cevap arayacağız. Eksiklik veya hata olduğunu düşündüğünüz yerlerde benimle irtibata geçersiniz tekrardan gözden geçirebilir. Umarım istediğiniz gibi güzel işler bulursunuz.
Not: 2.yazıya buradan erişebilirsiniz.

15 Aralık 2014 Pazartesi

Interface (Arayüz)

S.a. Arkadaşlar,
İnterface, bir class'ta olması gereken method ve property'leri tanımlayan yapıdır. Kendisi normal bir class değildir, sadece neyin yapılacağını göstermekte, ancak nasıl yapılacağını göstermemektedir. Kalıtımı gerekli kıldığı için pek tercih edilmiyor ama zorunlu olduğumuz kullanılabiliriz .[1]
İnterface (arayüz)ler %100 abstractırlar. Yani bu ne demektir. İçerdiği metodlar boş gövdelidir. Ve herhangi bir kod içermezler. Aslında biz interface aracılığıyla kısmen tasarım yapıyoruz diyebiliriz. Daha sonra implement edilerek o arayüzü (interface) kullanabiliriz. Fakat içerisinde kesinlikle başka bir metod tanımlayamayız. Derleyici bize hata verir. Ve bu yüzden biz interfacelere %100 abstract diyoruz.
Bir sınıf eğer bu metodları kullanacaksa kesinlikle override yapması gerekmektedir. Çünkü metodlar gövdesizdir. Ve onu override ederek kendimiz doldurmuş oluyoruzç. Yoksa boş olan metod işimize yaramayacaktır. Fakat burada dikkat edilmesi gereken kısım abstractların böyle bir zorunluluğu yoktur. Override etmek zrounda değiller yani.
Kısaca bir interface tanımlayalım ve ne dediğimizi oradan anlatmaya çalışalım.
public interface Cokgen exetnds interface1, interface2 {
//double hacim();  hepsi aynı anlamdadır.
//public abstract double hacim();
 public double hacim();
  abstract public double alan();   
  int kenar=1;
//public static final int=1;
}
            Burada gördüğümüz gibi , metodlar tanımlanmış ve gövdeleri boştur. Noktalı virgül ile sonlandırılmışlardır. Dikkat etmemiz gereken diğer bir husus ise her metod kendiliğinden “abstract public/ public abstract” tanımlıdır. Yani yukarıda gösterdiğimiz tüm satırlar aynı şekilde doğru çalışır. Derleyici bunu kendiliğinden ekliyor.
            Burada dikkat çekeceğimiz başka bir konu ise çoklu kalıtım izin verilmesidir interfacelerde. Bilindiği gibi classlarda çoklu kalıtıma izin verilmezdi. Derleyici hata verirdi ama burada böyle bir şey yok. Birden fazla sınıftan da ara yüzümüzü kalıtabiliriz. Fakat unutmamak gerekir ki hiçbir şekilde implement edilemezler. Böyle bir şey yaptığınızda zaten derleyici size hatayı verecektir.
            Dikkat çekmek istediğimzi bir başka konu ise değişken tanımlamaları. Burada tanımladığımız her değişken sabit tanımlayıcı değerindedir. Yani ne demek istiyoruz. Yukarıda da belirtilmiş int ile static int değeriminiz bir farkı yoktur. Her tanımladığımız değer final olarak algılanmaktadır.
             
Kaynakça
[1]www.kurumsaljava.com/download/68/