Java Arayüzler (Interfaces) Paylaşım , Takip İçinTweet Arayüzler (Interfaces) Arayüzler (Interfaces) bazı yönlerden soyut sınıflara benzerler.Arayüzler’de soyut sınıflardan farklı olarak bütün metotlar gövdesiz olarak tanımlanırlar.Arayüzler sınıfların bir işi nasıl yapacağını değil, bu işi yaparken hangi metotları kullanması gerektiğini tanımlar.Ayrayüzler içerisinde miras kullanılabilir.Arayüzler içerisinde tanımlanan değişkenler public static final olmalıdır.Arayüzler içerisinde başka Arayüzler kullanılabilir.Bir arayüz tanımlamak için interface anahtar kelimesi kullanılır. Basit Bir Arayüz Örneği package Abstract; public interface Calisan { public String kurum="Cumhuriyet Üniversitesi"; public double maasHesapla(int dersSaati); public void unvanGoster(); } Arayüzler de tıpkı sınıflara benzerler fakat arayüzler içerisinde tanımlanan metotların gövdeleri yoktur.Arayüzlere ait değişkenler public, static yada final olabilirler. Arayüzlerden Miras Almak Tıpkı Üst sınıflar yada Soyut Sınıflar gibi Arayüzler kullanılarak alt sınıflar türetilebilir.Bir arayüzden sınıf türetmek için implements anahtar kelimesi kullanılır. Bu şekilde kullanılan arayüzün bir örneği oluşturulur.Türetilen alt sınıfta mutlaka arayüz içerisinde tanımlanan metotlar override edilerek tekrar oluşturulmalıdır. Arayüzden Sınıf Kalıtımı -1 public class personel extends Kisi implements Calisan{ public int dersSaati; public String unvan; public String bolum; public int sicilNo; public personel(String adSoyad, String dtarih, char cinsiyet, int dersSaati, String unvan, String bolum, int sicil) { super(adSoyad, dtarih, cinsiyet); this.dersSaati=dersSaati; this.unvan=unvan; this.bolum=bolum; this.sicilNo=sicil; } Arayüzden Sınıf Kalıtımı -2 @Overridepublic void kisiBilgileri() { System.out.println("Kisi adı Soyadı:"+getAdSoyad()); System.out.println("Sicil Numarası:"+sicilNo); System.out.println("Doğum tarihi:"+ super.dogumTarihi); System.out.println("Cinsiyet:"+cinsiyet); System.out.println("Bölümü:"+this.bolum); System.out.println("Kurumu:"+this.kurum);}@Overridepublic double maasHesapla(int dersSaati) { double maas=10*dersSaati; return maas;}@Overridepublic void unvanGoster() { System.out.println(this.unvan);} Arayüzden Sınıf Kalıtımı -3 public static void main(String[] args) { //Kişi sınıfından bir nesne tanımlanamaz //Kisi k=new Kisi(); personel per=new personel("Daenerys Targaryen", "MS.298", 'K', 40, "Queen", "Targaryen", 3); double kasım=per.maasHesapla(per.dersSaati); System.out.print("Unvan:"); per.unvanGoster(); System.out.println("Ad Soyad:"+per.getAdSoyad()); System.out.println("Maas:"+kasım); System.out.println("-------------------------------------"); per.kisiBilgileri();} Arayüzlerde Kalıtım Aynı sınıflarda olduğu gibi arayüzlerde de kalıtım mümkündür.extends anahtar kelimesi kullanılarak bir arayüz başka bir arayüzden miras alabilir.Örneğin Calisan arayüzünden satisElemani adında yeni bir arayüz türetelim. public interface satisElemani extends Calisan Arayüzlerde Miras -1 package Abstract; public interface Calisan { public String kurum="Cumhuriyet Üniversitesi"; public double maasHesapla(int dersSaati); public void unvanGoster(); } package Abstract; public interface satisElemani extends Calisan { public double komisyonOranı=0.3; public double calismaSaati(); public double maasHesapla(int saat); } Arayüzlerde Miras -2 package Abstract; public class salesPerson implements satisElemani{ public static void main(String[] args) { } @Override public void unvanGoster() { } @Override public double calismaSaati() { return 0; } @Override public double maasHesapla(int saat) { return 0; } } Bunu paylaş:TwitterFacebookBunu beğen:Beğen Yükleniyor... Paylaşım , Takip İçinTweet