Java’da Arayüzler (Interface)
Kısaca açıklamak gerekirse Arayüzleri(Interface) yapı olarak soyut sınıflara benzerler, ama soyut sınıflarda gövdesiz metodları ve tanımlayabileceğimiz diğer metodları kullanabiliyorduk. Arayüzlerde ise bütün metodlar gövdesiz olarak tanımlanır.
Bir Arayüz tanımlamak istersek;
erişimBelirleyici interface arayüzAdi{
//değişkenler ve metod gövdeleri
}
Kullanacağımız erşim belirteçleri public, static ve final tipindedir vede ilk değer ataması zorunludur, tanımladığımız değişkenler daha çok diğer sınıflarda sabit olarak kullanacağımız değişkenlerdir.
Not: Arayüzler direk iş yapamayacaklarından, implement edildikleri sınıflarda override edilmelidirler.
Örneğimize geçerek daha iyi bir şekilde anlayalım;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
package arayüz; interface Canlı{// yanlız interface kullanımı public void nefesAl(); } interface Hayvan{// iç içe ınterface kullanımı interface Surungen{ public void surun();//gövdesiz metod tanımı } public void hayvanlarAlemi(); } class Insan implements Canlı{ public void nefesAl() {//Canlı arayüzündeki metod override edildi. System.out.println("İnsanlar nefes alır."); } } class Bocekler implements Hayvan{ public void hayvanlarAlemi() {//Hayvan arayüzündeki metod override edildi. System.out.println("Böcekler hayvanlar alemine aittir."); } } class Yılan implements Hayvan.Surungen{ public void surun() {//Surungen arayüzündeki metod override edildi. System.out.println("Yılanlar Sürüngen Hayvanlardır. "); } } public class Arayuzler { public static void main(String[] args) { Insan i=new Insan(); i.nefesAl(); Bocekler b=new Bocekler(); b.hayvanlarAlemi(); Yılan y=new Yılan(); y.surun(); } } |
Bu örneğimizde 3 adet İnterface tanımladık. Hayvan ve Surungen iç içe olarak , Canlı ise tek olarak içlerinde gövdesiz metodlar tanımladık,sonrasında kalıtım ile yeni sınıflar oluşturduk ve metodlarımızı override ederek çağırdık. Mainimiz de yeni nesneler oluşturarak metodlarımızı çağırdık.
Arkadaşlar bu bölümde Java’da Nesneye Yönelik Programlamada Arayüzler yani Interface anlatmaya çalıştık. Sizlerde bu örneklerle sınırlı kalmayıp güncel hayattan bir çok örnek program kodlayabilirsiniz takibiniz için teşekkürler… Bizi takip etmeye devam edin bol kodlu günler…