- Detaylar
- Son Güncelleme: 07 Haziran 2021
Java'da Arayüz nedir?
Bir Java'da Arayüz programlama dili, bir sınıfın davranışını belirtmek için kullanılan soyut bir tür olarak tanımlanır. Bir Java arabirimi, statik sabitler ve soyut yöntemler içerir. Bir sınıf birden çok arabirim uygulayabilir. Java'da arayüzler interface anahtar sözcüğü kullanılarak bildirilir. Arayüzdeki tüm yöntemler dolaylı olarak genel ve soyuttur.
Şimdi Java'da interface kullanmayı öğreneceğiz.
Arabirim Bildirmek için Sözdizimi
Sınıfınızda bir arabirim kullanmak için, sınıf adınızın arkasına 'uygular' anahtar sözcüğünü ve ardından arabirim adını ekleyin. |_+_|
Arayüzü Uygulama Örneği
Şimdi Java'daki arayüzü şu örnekle anlayalım: |_+_| |_+_|
Videoya erişilemiyorsa buraya tıklayın
Arayüz neden gereklidir?
Java'da arayüz kullanımını daha iyi anlamak için bir Java arayüzü örneğine bakalım. 'Media Player' sınıfının iki alt sınıfı vardır: CD oynatıcı ve DVD oynatıcı. Her biri müzik çalmak için Java yönteminde benzersiz arayüz uygulamasına sahiptir.
Başka bir 'Combo sürücü' sınıfı hem CD'yi hem de DVD'yi devralır (aşağıdaki resme bakın). Hangi oyun yöntemini devralmalı? Bu ciddi tasarım sorunlarına neden olabilir. Ve bu nedenle, Java çoklu kalıtıma izin vermez.
Şimdi başka bir Köpek örneğini ele alalım.
'Köpek' sınıfının 'hayvan' ve 'Evcil Hayvan' sınıfını miras aldığı bir gereksiniminiz olduğunu varsayalım (aşağıdaki resme bakın). Ancak Java'da iki sınıfı genişletemezsiniz. Peki ne yapardın? Çözüm Arayüzdür.
Arayüz için kural kitabı diyor ki,
- Bir Java uygulama arabirimi %100 soyut sınıftır ve yalnızca soyut yöntemlere sahiptir.
- Sınıf, herhangi bir sayıda arabirim uygulayabilir.
Class Dog, 'Animal' sınıfını genişletebilir ve arabirimi 'Pet' olarak uygulayabilir.
Java Arayüzü Örneği:
Java'da aşağıdaki arayüz programını anlayalım:
Aşama 1) Aşağıdaki kodu bir düzenleyiciye kopyalayın. |_+_|
Adım 2) Kodu kaydedin, derleyin ve çalıştırın. Java programında arayüzün çıktısını gözlemleyin.
Sınıf ve Arayüz Arasındaki Fark
|Sınıf||Arayüz|
|Sınıfta değişkeni somutlaştırabilir ve bir nesne oluşturabilirsiniz.||Bir arabirimde, değişkeni somutlaştıramaz ve bir nesne oluşturamazsınız.|
|Sınıf, somut (uygulamalı) yöntemler içerebilir||Arayüz somut (uygulamalı) yöntemler içeremez|


Sınıflarla birlikte kullanılan erişim belirteçleri özel, korumalı ve geneldir.


Arayüzde yalnızca bir belirteç kullanılır - Genel.
Arayüz ve Soyut Sınıf ne zaman kullanılır?
- Bir alt sınıf grubu için bir şablonun tanımlanması gerektiğinde soyut bir sınıf kullanın
- Bu sınıfların miras ağacından bağımsız olarak, diğer sınıflar için bir rol tanımlanması gerektiğinde bir arabirim kullanın
Arayüz hakkında gerçekleri bilmeli
- Bir Java sınıfı, birden çok Java Arabirimi uygulayabilir. Sınıfın, arabirimlerde bildirilen tüm yöntemleri uygulaması gerekir.
- Sınıf, arayüzde bildirilen tüm soyut yöntemleri geçersiz kılmalıdır.
- Arayüz, bir nesneye hangi sınıfa ait olduğuna bakılmaksızın bir mesaj göndermeye izin verir.
- Sınıfın, arabirimde bildirilen yöntemler için işlevsellik sağlaması gerekir.
- Bir arabirimdeki tüm yöntemler, dolaylı olarak genel ve soyuttur.
- Bir arayüz başlatılamıyor
- Bir arayüz referansı, uygulama sınıflarının nesnelerine işaret edebilir.
- Bir arayüz, bir veya daha fazla arayüzden genişletilebilir. Sınıf yalnızca bir sınıfı genişletebilir ancak herhangi bir sayıda arabirim uygulayabilir
- Bir arabirim, başka bir Arabirim uygulayamaz. Gerekirse başka bir arayüzü genişletmesi gerekir.
- Başka bir arabirimin içinde bildirilen bir arabirim, iç içe arabirim olarak adlandırılır.
- Bildirim sırasında, arayüz değişkeni başlatılmalıdır. Aksi takdirde derleyici hata verecektir.
- Sınıf, Java'da aynı ada ancak farklı dönüş tipine sahip yöntemlere sahip iki arabirim uygulayamaz.
Özet :
- Arabirimi uygulayan sınıfın, arabirimde bildirilen yöntemler için işlevsellik sağlaması gerekir.
- Bir arabirimdeki tüm yöntemler, dolaylı olarak genel ve soyuttur.
- Bir arayüz başlatılamıyor
- Bir arayüz referansı, uygulama sınıflarının nesnelerine işaret edebilir.
- Bir arayüz, bir veya daha fazla arayüzden genişletilebilir. Bir sınıf yalnızca bir sınıfı genişletebilir, ancak herhangi bir sayıda arabirim uygulayabilir