Java'da Kalıtım Türleri: Tek, Çoklu, Çok Düzeyli ve Hibrit

Yayınlanan: 2021-06-30

Tanıtım

“Java” programlama dili, mobil, web, masaüstü vb. için uygulamaların geliştirilmesinde yaygın olarak kullanılmaktadır. 1995 yılında Sun Microsystems tarafından geliştirilen sağlam, üst düzey ve nesne yönelimli bir programlama dilidir. Bir programlama dili olmasına rağmen , Java'nın bir API'si ve bir çalışma zamanı ortamı (JRE) vardır ve bu nedenle platform olarak da adlandırılır.

Java'da dili kavramak için dört ana kavramla birlikte birkaç kavram vardır. Bunlar soyutlama, kapsülleme, kalıtım ve polimorfizmdir.

Bu yazımızda Java'da kalıtım kavramı ve java'da kalıtım türleri üzerinde duracağız .

Miras nedir?

Adından da anlaşılacağı gibi, kalıtım, mülklerin devralınması anlamına gelir. Bir sınıfın farklı bir sınıfın özelliklerini türetmesine izin verilen mekanizmaya kalıtım denir. Kalıtım kavramı ile bir programdaki bilgiler hiyerarşik olarak düzenlenebilir.

Java'da kalıtım kavramı, kullanıcıların sınıflar oluşturmasına ve mevcut sınıfların özelliklerini kullanmasına izin verir.

Kavramla ilişkili birkaç önemli terminoloji şunlardır:

  • Sınıf : Ortak özellikleri paylaşan bir grup nesne olarak tanımlanır.
  • Alt Sınıf : Türetilmiş veya genişletilmiş sınıf olarak da bilinen bu sınıf, özellikleri başka bir sınıftan devralır. Ayrıca, miras alınan alanlar ve yöntemlerle birlikte, sınıftan oluşturulan sınıf, kendi alanlarını ve yöntemlerini ekleyebilir.
  • Süper Sınıf : Üst sınıf, özellikleri bir alt sınıf tarafından miras alınan sınıfı temsil eder.
  • Yeniden Kullanılabilirlik: Yeniden kullanılabilirlik tekniği, kullanıcının halihazırda var olan bir sınıfın alanlarına veya yöntemlerine sahip bir sınıf (yeni bir sınıf) oluşturmasına olanak tanır. Kodun yeniden kullanılmasına izin verir.

Java mirasının önemi

Java'da kalıtımın uygulanması aşağıdaki faydaları sağlar:

  • Kalıtım, yinelenen kodu en aza indirerek bir kodun karmaşıklığını en aza indirir. Aynı kodun başka bir sınıf tarafından kullanılması gerekiyorsa, o sınıftan alt sınıfına kolayca miras alınabilir. Bu nedenle, kod daha iyi organize edilmiştir.
  • Kod daha basit bir biçimde düzenlendikçe bir kodun yürütülmesinin verimliliği artar.
  • Polimorfizm kavramı kalıtımla birlikte kullanılabilir.

Sözdizimi

Temel sözdizimi

Sınıf üst sınıfı {

—————-

}

sınıf alt sınıfı, üst sınıfı genişletir

{

————–

—————–

}

Bir sınıf miras alınırken "genişler" anahtar kelimesi kullanılır. Üst sınıfın işlevselliğinin alt sınıfa genişletildiğini tanımlar.

Oluşturulan yeni sınıfa alt sınıf, miras alınan sınıfa üst sınıf denir.

Şekil 1: Java kalıtımını uygulayan bir kod örneği aşağıda gösterilmiştir.

Kaynak

Yukarıdaki örnekte Calculation ve My_Calculation olmak üzere iki sınıf oluşturulmuştur. toplama() ve Çıkarma() yöntemleri, sınıf hesaplamasından My_Calculation'a miras alınır. Anahtar kelime uzantıları, yöntemleri devralmak için kullanılmıştır.

Yukarıdaki kodun derlenmesi ve yürütülmesi aşağıdaki çıktıyı verir.

Şekil 2: Şekil 1'deki kodun çıktısı

Kaynak

My_Calculation sınıfının oluşturulması, üst sınıfın içeriğini alt sınıfa kopyalar. Alt sınıfın nesneleri ile kullanıcılar alt sınıf üyesine erişebilir.

Bazı durumlarda, alt sınıfın üyeleri ile aynı ada sahip üst sınıfın üyeleri arasında ayrım yapmamız gerektiğinde, "süper" anahtar sözcüğü kullanılır. Sözde aynı yönteme sahip iki Sub_class ve Super_class sınıfımız varsa, yani display(). Yöntemin uygulanması farklıdır ancak aynı ada sahiptir. Böyle bir durumda, yöntem üst sınıfı ile alt sınıfın yöntemini birbirinden ayırmak için super anahtar sözcüğü kullanılmalıdır.

Java Kalıtım Türleri

Java'da farklı kalıtım türleri gözlemlenir:

1. Tek seviyeli kalıtım

Adından da anlaşılacağı gibi, bu tür kalıtım yalnızca tek bir sınıf için gerçekleşir. Ana sınıftan yalnızca bir sınıf türetilir. Tek bir kalıtımın akış şeması aşağıda gösterilmiştir:

Şekil 3: Tek seviyeli kalıtımın grafiksel gösterimi

Kaynak

Sınıf A ve Sınıf B iki sınıf Şekil 3'te gösterilmektedir , burada Sınıf B, Sınıf A'nın özelliklerini devralır.

Şekil 4 : Tek seviyeli kalıtım uygulayan bir kod örneği

Kaynak

2. Çok Seviyeli Kalıtım

Çok seviyeli kalıtım, en az iki veya ikiden fazla sınıfın katılımını içerir. Bir sınıf, özellikleri bir üst sınıftan devralır ve yeni oluşturulan alt sınıf, başka bir yeni sınıfın temel sınıfı olur.

Şekil 5: Çok seviyeli kalıtımın akış diyagramı

Kaynak

Şekil 5'teki akış şemasından , Sınıf B'nin Sınıf A'dan türetilmiş bir sınıf olduğunu ve Sınıf C'nin ayrıca Sınıf B'den türetildiğini gözlemleyebiliriz. Bu nedenle büyük ebeveyn sınıfı kavramı çok seviyeli kalıtımda ortaya çıkar. Ancak, büyükanne ve büyükbaba sınıfının üyelerine Java'da doğrudan erişilemez.

Bu nedenle Şekil 5 , Sınıf C'nin hem Sınıf A hem de Sınıf B'nin yöntemlerini ve özelliklerini devraldığını göstermektedir.

Aşağıda üç sınıf X, Y ve Z ile çok seviyeli kalıtım örneği gösterilmektedir. Y sınıfı, Z sınıfını daha da oluşturan X sınıfından türetilmiştir.

Şekil 6: Çok seviyeli kalıtım örneği

Kaynak

3. Hiyerarşik Kalıtım

Birçok alt sınıfın tek bir sınıftan miras aldığı kalıtım türü, Hiyerarşik Miras olarak bilinir.

Şekil 7: Hiyerarşik bir mirasın grafiksel gösterimi.

Şekil 7'de , Class B, Class C ve Class D'nin tek bir Class A'dan miras alındığını gözlemleyebiliriz. Tüm alt sınıflar, hiyerarşik kalıtımda aynı ebeveyn sınıfa sahiptir .

Şekil 8: Hiyerarşik kalıtım kavramını gösteren bir kod örneği

Kaynak

Yukarıdaki kod çıktıyı üretir

miyavlama…

yemek yiyor…

Java'da bu kalıtım türlerinin dışında , çoklu kalıtım ve hibrit kalıtım olarak bilinen başka türler de vardır . Her iki tür de sınıflar aracılığıyla desteklenmez ve yalnızca arabirimlerin kullanılmasıyla elde edilebilir.

4. Çoklu Kalıtım

Çoklu kalıtım, bir alt sınıfın özellikleri birden fazla üst sınıftan devralabileceği bir kalıtım türüdür.

Şekil 9: Çoklu mirasın temsili

Kaynak

Şekil 4, Sınıf C'nin Sınıf A ve Sınıf B'den türetildiğini göstermektedir. Başka bir deyişle, C alt sınıfının hem Sınıf A hem de B Sınıfından özellikleri miras aldığı tanımlanabilir.

5. Hibrit Kalıtım

Hibrit kalıtım, tek kalıtımı ve çoklu kalıtımı birleştiren bir kalıtım türüdür. Java tarafından çoklu kalıtım desteklenmediği için, hibrit kalıtım yalnızca arabirimler aracılığıyla da gerçekleştirilebilir.

Şekil 10: Hibrit kalıtımın temsili

Kaynak

Java'daki farklı kalıtım türleri ile nihai amaç, üst sınıflardan miras alınan özelliklere sahip alt sınıflar oluşturmaktır. Oluşturulan alt sınıflar, aşağıdaki gibi çeşitli özelliklere sahiptir:

  • Bir alt sınıfta miras alınan alanlar ve yöntemler doğrudan kullanılabilir.
  • Üst sınıfta bulunmayan alt sınıfta da yeni alanlar ve yöntemler bildirilebilir.
  • Üst sınıftaki yöntemle aynı imzaya sahip olan alt sınıfta yeni bir örnek yöntemi oluşturulabilir. İşlem, geçersiz kılma olarak adlandırılır.
  • Üst sınıftaki yöntemle aynı imzaya sahip olan alt sınıfta yeni bir statik yöntem oluşturulabilir. İşlem gizleme olarak adlandırılır.

Dünyanın En İyi Üniversitelerinden Online Yazılım Kursları Öğrenin . Kariyerinizi hızlandırmak için Yönetici PG Programları, Gelişmiş Sertifika Programları veya Yüksek Lisans Programları kazanın.

Çözüm

Makale Java'daki önemli kalıtım kavramını ve Java'daki kalıtım türlerini tartıştı . Bu nedenle kalıtım, bir sınıfın özelliklerini başka bir sınıfa almak için kodları yeniden kullanabileceğimiz mekanizmadır. Bu, makalede gösterildiği gibi farklı türde kalıtım kalıpları aracılığıyla gerçekleştirilebilir. Ancak, miras kavramına çok daha fazlası var. Geliştirme alanında başarılı olmak için Java'nın karmaşık programlamasında uzmanlaşmak gerekir. Akıllı cihazlarda yenilik yapma hayaliniz varsa, upGrad's tarafından sunulan Tam Yığın Yazılım Geliştirmede Yönetici PG Programı en iyi seçim olacaktır. Liverpool John Moores Üniversitesi'nden sertifikalı, IIIT Bangalore ile birlikte kurs, 500'den fazla öğrenme saati sunar ve erken profesyoneller için tasarlanmıştır. upGrad'ın kursundan öğrenilen beceri, yazılım geliştirme, web geliştirme, javascript geliştirici vb. alanlara yönelik fırsatların açılmasına yardımcı olacaktır. 21-45 yaş grubundaki her cinsiyete açık olan interaktif program, aşağıdakiler için en iyi seçim olabilir. tüm kodlayıcılar

miras nedir?

Kalıtım, yeni bir nesnenin önceki nesnenin özelliklerini elde ettiği bir süreçtir. Örnek olarak, bir 'insan' sınıfını düşünebilirsiniz. Boy, kilo vb. gibi sınıfınıza dahil etmek istediğiniz birçok insan özelliği olabilir. Dolayısıyla, bunu yapmanın bir yolu, tüm bu özellikleri sınıfınızda yeniden tanımlamaktır. Nesne yönelimli programlamayı öğrenmek için iyi bir yol olabilir, ancak iyi bir uygulama değildir. Bunu yapmanın en iyi yolu, tüm bu özellikleri belirli bir sınıftan devralmaktır. 'Çocuk' sınıfı, 'insan' (veya 'ebeveyn') sınıfının tüm özelliklerini miras alabilir. Buna nesne yönelimli programlamada kalıtım denir.

Nesne yönelimli programlama nedir?

Çoklu kalıtım nedir?