Java'da Örnek Arayüz Nedir

İçindekiler:

Anonim

Java'da Arayüz nedir?

Java programlamasında bir Arayüz , bir sınıfın davranışını belirtmek için kullanılan soyut bir tür olarak tanımlanır. Bir Java arayüzü statik sabitler ve soyut yöntemler içerir. Bir sınıf birden çok arabirim uygulayabilir. Java'da, arabirimler arabirim anahtar sözcüğü kullanılarak bildirilir. Arayüzdeki tüm yöntemler örtük olarak genel ve soyuttur.

Arayüz Bildirmek için Sözdizimi

interface {//methods}

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

class Dog implements Pet
interface RidableAnimal extends Animal, Vehicle

Videoya erişilemiyorsa burayı tıklayın

Arayüz neden gereklidir?

Java Arayüzü kavramını daha iyi anlamak için bir örnek görelim. "Media Player" sınıfının iki alt sınıfı vardır: CD çalar ve DVD oynatıcı. Her biri müzik çalmak için benzersiz bir uygulama yöntemine sahiptir.

Başka bir "Combo sürücü" sınıfı hem CD hem de DVD'yi miras alıyor (aşağıdaki resme bakın). Hangi oyun yöntemini miras almalıdır? Bu, ciddi tasarım sorunlarına neden olabilir. Ve bu nedenle, Java çoklu kalıtıma izin vermez.

Şimdi başka bir Dog örneğini ele alalım.

"Hayvan" ve "Evcil Hayvan" sınıflarını miras alan "köpek" sınıfının olduğu bir gereksiniminiz olduğunu varsayalım (aşağıdaki resme bakın). Ancak Java'da iki sınıfı genişletemezsiniz. Öyleyse ne yapardın? Çözüm Arayüzdür.

Arayüz için kural kitabı şöyle diyor:

  • Bir arabirim% 100 soyut bir 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ına kadar genişletilebilir ve arayüzü "Pet" olarak uygulayabilir.

Java Arayüzü Örneği:

Adım 1) Aşağıdaki kodu bir düzenleyiciye kopyalayın.

arayüz Pet {genel boşluk testi ();}class Dog, Pet {public void testi () {System.out.println ("Uygulanan Arayüz Yöntemi");}public static void main (String args []) {Evcil hayvan p = yeni Köpek ();p.test ();}}

Adım 2) Kodu Kaydedin, Derleyin ve Çalıştırın. Çıktıyı Gözlemleyin.

Sınıf ve Arayüz arasındaki fark

Sınıf Arayüz
Sınıfta, değişkeni başlatabilir ve bir nesne oluşturabilirsiniz. Bir arayüzde, değişkeni örnekleyemez ve bir nesne oluşturamazsınız.
Sınıf somut (uygulama ile) yöntemler içerebilir Arayüz somut (uygulama ile) yöntemler içeremez

Sınıflarla kullanılan erişim tanımlayıcıları özel, korumalı ve geneldir.

Arayüzde yalnızca bir tanımlayıcı 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ından bağımsız olarak bir arayüz 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, hangi sınıflara ait olduğu ile ilgili olmaksızın bir nesneye mesaj gönderilmesine izin verir.
  • Sınıfın arabirimde belirtilen yöntemler için işlevsellik sağlaması gerekir.
  • Bir arayüzdeki tüm yöntemler örtük olarak genel ve soyuttur
  • Bir arabirim somutlaştırılamaz
  • Bir arayüz referansı, uygulama sınıflarının nesnelerine işaret edebilir
  • Bir arabirim, bir veya daha fazla arabirimden genişletilebilir. Sınıf yalnızca bir sınıfı genişletebilir, ancak herhangi bir sayıda arabirim uygulayabilir
  • Bir arayüz başka bir Arayüzü uygulayamaz. Gerekirse başka bir arabirimi genişletmesi gerekir.
  • Başka bir arabirim içinde bildirilen bir arabirim, yuvalanmış arabirim olarak adlandırılır.
  • Bildirim anında arayüz değişkeni başlatılmalıdır. Aksi takdirde, derleyici bir hata atar.
  • Sınıf, java'da aynı ada ancak farklı dönüş türüne sahip yöntemlere sahip iki arabirim uygulayamaz.

Özet :

  • Arabirimi uygulayan sınıf, arabirimde bildirilen yöntemler için işlevsellik sağlamalıdır.
  • Bir arayüzdeki tüm yöntemler örtük olarak genel ve soyuttur
  • Bir arabirim somutlaştırılamaz
  • Bir arayüz referansı, uygulama sınıflarının nesnelerine işaret edebilir
  • Bir arabirim, bir veya daha fazla arabirimden genişletilebilir. Bir sınıf yalnızca bir sınıfı genişletebilir, ancak herhangi bir sayıda arabirim uygulayabilir