Arayüz Java Örnek ile
Arayüz Nedir? Java?
An Arayüz Java programlama dili, bir sınıfın davranışını belirtmek için kullanılan soyut bir tür olarak tanımlanır. A Java arayüz statik sabitleri ve soyut yöntemleri içerir. Bir sınıf birden fazla arayüz uygulayabilir. İçinde Java, arayüzler, arayüz anahtar sözcüğü kullanılarak bildirilir. Arayüzdeki tüm yöntemler dolaylı olarak genel ve soyuttur.
Arayüzü Bildirmek için Sözdizimi
Sınıfınızda bir arayüz kullanmak için, sınıf adınızın sonuna "implements" anahtar kelimesini ve ardından arayüz adını ekleyin.
interface { //methods }
Arayüzü Uygulama Örneği
Şimdi arayüzü anlayalım Java örnekle:
class Dog implements Pet
interface RidableAnimal extends Animal, Vehicle
Tıkla okuyun videoya erişilemiyorsa
Arayüz neden gereklidir?
Arayüz kullanımını anlamak Java daha iyi, görelim Java arayüz örneği. “Medya Oynatıcı” sınıfının iki alt sınıfı vardır: CD oynatıcı ve DVD oynatıcı. Her biri benzersiz arayüz uygulamasına sahiptir Java müzik çalma yöntemi.
Başka bir sınıf olan “Birleşik sürücü” 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 dolayısıyla, Java birden fazla izin vermiyor miras.
Şimdi başka bir Köpek örneğini ele alalım.
Diyelim ki “köpek” sınıfının “hayvan” ve “Evcil hayvan” sınıfını miras almasına ilişkin bir gereksiniminiz var (aşağıdaki resme bakın). Ancak iki sınıfı genişletemezsiniz Java. Peki ne yapardınız? Çözüm Arayüz'dür.
Arayüz kural kitabı şöyle diyor:
- A Java uygulama arayüzü %100 soyut sınıftır ve yalnızca soyut yöntemler.
- Sınıf herhangi bir sayıda arayüzü uygulayabilir.
Köpek Sınıfı, “Hayvan” sınıfına genişletilebilir ve arayüzü “Evcil Hayvan” olarak uygulayabilir.
Java Arayüz Örneği:
Aşağıdaki arayüz programını anlayalım Java:
) 1 Adım Aşağıdaki kodu bir editöre kopyalayın.
interface Pet{ public void test(); } class Dog implements Pet{ public void test(){ System.out.println("Interface Method Implemented"); } public static void main(String args[]){ Pet p = new Dog(); p.test(); } }
) 2 Adım Kodu kaydedin, derleyin ve çalıştırın. Arayüzün Çıkışını gözlemleyin Java program.
Sınıf ve Arayüz Arasındaki Fark
Sınıfta değişkeni başlatabilir ve bir nesne oluşturabilirsiniz. | Bir arayüzde değişkeni başlatamaz 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 kullanılan erişim belirteçleri özel, korumalı ve geneldir. | Arayüzde yalnızca bir belirtici kullanılır - Genel. |
Arayüz ve Soyut Sınıf ne zaman kullanılır?
- Bir grup alt sınıf için bir şablonun tanımlanması gerektiğinde soyut bir sınıf kullanın
- Diğer sınıflar için bir rolün tanımlanması gerektiğinde, bu sınıfların miras ağacına bakılmaksızın bir arayüz kullanın
Arayüz hakkındaki gerçekleri bilmeniz gerekir
- A Java sınıf birden fazla uygulayabilir Java Arayüzler. Sınıfın arayüzlerde 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 nesnenin hangi sınıfa ait olduğuna bakılmaksızın mesaj gönderilmesine olanak sağlar.
- Sınıfın arayüzde bildirilen yöntemler için işlevsellik sağlaması gerekir.
- Bir arayüzdeki 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 arabirimi uygulayabilir
- Bir arayüz başka bir Arayüzü uygulayamaz. Gerekirse başka bir arayüzü genişletmesi gerekir.
- Başka bir arayüzün içinde bildirilen arayüze iç içe arayüz denir.
- Bildirim sırasında arayüz değişkeni başlatılmalıdır. Aksi takdirde derleyici bir hata verecektir.
- Sınıf, Java'da aynı ada sahip ancak farklı dönüş tipine sahip yöntemlere sahip iki arayüzü uygulayamaz.
Özet:
- Arayüzü uygulayan sınıfın, arayüzde bildirilen yöntemler için işlevsellik sağlaması gerekir.
- Bir arayüzdeki 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 arayüzü uygulayabilir