Tavsiye, 2024

Editörün Seçimi

Arasındaki Fark Java’daki anahtar kelimeleri genişletir ve uygular

Anahtar kelimeler genişler ve uygular, yeni oluşturulan bir alt blokta zaten mevcut bir üst bloğun özelliklerini miras almak için kullanılır. Extends anahtar sözcüğünü kullanarak yeni oluşturulan bir sınıf (alt sınıf), mevcut bir sınıfın (üst sınıf) özelliklerini devralabilir. İmplements anahtar sözcüğünü kullanarak yeni oluşturulan bir sınıf, bir arabirimin tüm yöntemlerini uygulayabilir. Anahtar kelimeler arasındaki temel fark, genişler ve uygular; bir sınıf, tüm üyelerini miras almak için başka bir sınıfı genişletir, oysa bir sınıf, tüm yöntemleri miras almak ve gereksinimlerine göre uygulamak için bir arayüz uygular. Anahtar kelimeler arasındaki genişleme ile uygulama arasında, aşağıda gösterilen karşılaştırma tablosunda açıklanan bazı farklılıklar vardır.

Karşılaştırma Tabloları

Karşılaştırma için temelUzattıuygular
TemelExtends anahtar sözcüğü, bir süper sınıfın özelliklerini kullanarak bir alt sınıf oluşturmak için kullanılır.Implements anahtar sözcüğü bir arabirimin uygulanması için kullanılır
YöntemlerExtends anahtar sözcüğü, bir süper sınıfın tüm yöntemlerini geçersiz kılmayabilir.Implements anahtar sözcüğü, uygulanan bir arabirimin tüm yöntemlerini uygulamak zorundadır.
SınıfBir sınıf yalnızca bir süper sınıfı genişletebilir.Bir sınıf, çoklu etkileşimler uygulayabilir.
arayüzeyBir arayüz birden fazla arayüzü genişletebilir.Bir arayüz başka bir arayüz uygulayamaz.

Extends anahtar sözcüğünün tanımı

Nesne Yönelimli Programlamada önemli bir kavram olan kalıtım, bir alt sınıf başka bir üst sınıfı genişlettiğinde elde edilir. Bir alt sınıfın yalnızca bir üst sınıfı genişletmesine izin verilir. Bir sınıf, Java'da asla birden fazla süper sınıfı genişletemez. Bir sınıf başka bir sınıfı genişlettiğinde, bir üst sınıfta tanımlanan yöntemleri geçersiz kılabilir. Anahtar sözcüğün bir örnek yardımıyla ne kadar uzadığını anlayalım.

 A sınıfı {String s; A (String s1) {s = s1; } // ekran dize void display () {System.out.println (+ s); }} B sınıfı, A {String i; B (s1 dize, i1 dize) {super (s1); i = 1; } void dispaly () {super.dispaly (); / * display () çağrılan A sınıfı. * / System.out.println (+ i); }} sınıf Geçersiz kılma {public static void main (String [args []) {B ob = new B (Teknoloji, Farklar); ob.display (); / * çağrılan B sınıfının gösterimi * /}} / * out put * / Tech Differences 

Yukarıdaki kodda, B sınıfının A sınıfını genişlettiğini ve A sınıfında tanımlanan yöntem ekranını () geçersiz kıldığını gözlemleyebilirsiniz, benzer şekilde bir arayüz bir kerede birden fazla arayüzü uzatabilir. Arayüz, genişletilmiş ara yüzün herhangi bir yöntemini uygulamak zorunda olmadığından, bir kerede birden fazla ara yüzün devralınmasına izin verilir.

İmplements kelimesinin tanımı

Anahtar sözcükleri kullanarak, bir sınıf, bir arayüzdeki tüm yöntemleri devralır. Bir sınıf bir arayüz uygularsa, o sınıf uygulanan arayüzün tüm metotlarını uygulamak zorundadır. Bir arayüz asla başka bir arayüz uygulayamaz, çünkü anahtar kelime, metotların uygulanmasını vaat eder, ancak bir arayüz hiçbir zaman içerisinde metot uygulamaz, bu nedenle bir arayüzün başka bir arayüz uygulaması yapması imkansızdır. Örnek anahtar kelimeler ile implements anahtar kelimesini anlayalım.

 arayüz dizeleri {void display (String s); } arabirim tamsayısı {void show (int i); } sınıf Demo dizeleri uygular, tamsayı {void show (int i) {System.Out.Println ("tamsayı değeri:" + i); } void display (Dize s) {System.Out.Println ("dize değeri:" + s); }} sınıf Demo_main {public static void main (string args []) {Demo d = yeni Demo (); d.display ( "TechDifferences"); d.show (2); }} / * output * / TechDifferences 2 

Yukarıdaki kodda olduğu gibi, sınıf demosunun iki arabirim dizgesi ve tamsayı kullandığını ve hem display () hem de show () 'da bildirilen yöntemleri de uyguladığını görebilirsiniz.

Uzatmalar ve uygular arasındaki Anahtar Farklılıklar

  1. Bir sınıf başka bir sınıfa miras alabilir veya bir anahtar kelime genişletme kullanarak bir arayüz diğer anahtar sözcükleri kullanarak miras alırken, bir sınıf bir anahtar kelime aracı kullanarak bir arayüz uygulayabilir.
  2. Bir üst sınıfı genişleten bir alt sınıf, bir üst sınıftaki tüm yöntemleri geçersiz kılabilir veya olmayabilir. Öte yandan, bir arayüz uygulayan bir sınıf o arayüzün tüm yöntemlerini tanımlamalı / uygulamalıdır.
  3. Bir sınıf aynı anda herhangi bir sayıda ara yüz uygulayabilir. Öte yandan, bir sınıf yalnızca bir süper sınıfı uzatabilir.
  4. Bir arayüz, herhangi bir sayıda arayüzü uzatabilir, ancak bir arayüz, yöntemleri ve arayüzü tanımlayan uygulama araçları her zaman soyut yöntemlere sahip olduğu için başka bir arayüzü asla uygulayamaz, böylece bir arayüz asla başka bir arayüz uygulayamaz.

Sonuç:

Bir arayüz uygulamanın kodu bir sınıfa genişletmekten daha esnek hale getirdiğini söyleyerek tartışmayı bitiriyorum. Java'da yalnızca bir süper sınıfı miras almanın kısıtlanmasını önlediği için. Bir uygulamalı anahtar sözcükler kullanarak bir sınıf, birden fazla arayüzün özelliklerini devralabilir.

Top