Karşılaştırma Tabloları
Karşılaştırma için temel | Uzattı | uygular |
---|---|---|
Temel | Extends 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öntemler | Extends 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ıf | Bir sınıf yalnızca bir süper sınıfı genişletebilir. | Bir sınıf, çoklu etkileşimler uygulayabilir. |
arayüzey | Bir 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
- 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.
- 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.
- 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.
- 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.