8 Temmuz 2010 Perşembe

Java'da Interface Kullanılmasının Nedenleri

Java da interface kullanmamızın en büyük nedeni interfaceden türetilecek sınıflar için bir standart(zorunluluk da diyebiliriz) belirlemektir. Örneğin Telefon adında bir interface üretiyoruz ve  daha sonra interfaceden sınıflar implement ediyoruz. Bütün bu sınıfların bazı ortak özelliklere sahip olmasını bir zorunluluk haline getirebiliyoruz. Örneğin interfacede  arama() adında bir metod yazıyoruz ( içini boş bırakmak zorundayız interfacelerde) ve türetilecek bütün sınıflar kendi özelliklerine uygun olarak arama() metodunu dolduruyor. Böylece bütün telefonların arama özelliğine sahip olmasını bir standart haline getirmiş oluyoruz. 

Veritabanıyla ilgili bir örnek de vermek istiyorum. Örneğin çok geniş bir yazılım yazdığımızı varsayalım. Kullanıcıya bir veritabanı seçtirip buna göre işlemler yaptırmak istiyoruz. O zaman kodumuzda şöyle  satırlar olacaktır:
if(secim=="MySQL")
Veritabani vt =new MySQL();
if(secim=="ORACLE")
IVeritabani vt = new ORACLE();

.... bir kaç tane daha olabilir...

Daha sonra..  vt.baglan()  diyerek baglantimizi sagliyoruz.
Biz daha önce veritabanlarini tek bir Veritabani adlı interfaceden implement etmiştik ve orada baglan() adinda bir metod tanımlayarak içini boş bırakmnıştık ve tüm veritabanlarinin içine kendi özelliklerine uygun olarak baglan() metodunu farklı şekillerde tanımlamıştık.
Böylece hepsinde baglan() metodunun olmasını garanti etmiştik.

Eğer böyle yapmasaydık mesela mySQL için vt.connect() yazmamiz gerekirdi ve bu kodumuzda gereksiz uzamalara neden olabilirdi. Interfaceyle bunun önüne geçmiş oluyoruz.

Hiç yorum yok:

Yorum Gönder