Java'da Kalıtım, Üst Sınıf ve Alt Sınıf Nedir?

Nesne yönelimli programlamada önemli bir kavram kalıtımdır. İçin bir yol sağlar nesneleri birbirleriyle ilişkileri tanımlamak. Adından da anlaşılacağı gibi, bir nesne karakteristikleri başka bir nesneden devralabilir.

Daha somut ifadelerle, bir nesne durumunu ve davranışlarını çocuklarına aktarabilir. Kalıtımın çalışması için, nesnelerin birbirleriyle ortak özelliklere sahip olması gerekir.

İçinde Javasınıflar, başkalarından alınabilecek diğer sınıflardan alınabilir vb. Bunun nedeni, üst sınıftaki özellikleri, en üstteki Object sınıfına kadar devralabilmeleridir.

Java Kalıtımına Bir Örnek

Diyelim ki fiziksel özelliklerimizi temsil eden İnsan adlı bir sınıf yapıyoruz. Sizi, beni veya dünyadaki herhangi birini temsil edebilecek genel bir sınıf. Durumu bacak sayısı, kol sayısı ve kan grubu gibi şeyleri takip eder. Yemek, uyku ve yürüyüş gibi davranışları vardır.

İnsan, bizi hep aynı kılan şeyin genel bir anlamını elde etmek için iyidir, örneğin bana cinsiyet farklılıkları hakkında bilgi veremez. Bunun için Erkek ve Kadın adlı iki yeni sınıf türü yapmamız gerekirdi. Bu iki sınıfın durumu ve davranışları, İnsan'dan miras aldıkları dışında, birbirlerinden çok farklı şekillerde farklılık gösterecektir.

instagram viewer

Bu nedenle miras, ana sınıfın durumunu ve davranışlarını çocuğuna dahil etmemizi sağlar. Alt sınıf daha sonra durumu ve davranışları temsil ettiği farklılıkları yansıtacak şekilde genişletebilir. Bu kavramın hatırlanması gereken en önemli yönü, çocuk sınıfının ebeveynin daha özel bir versiyonudur.

Üst Sınıf nedir?

İki nesne arasındaki ilişkide, üst sınıf, devralınan sınıfa verilen addır. Süper bir süper sınıf gibi geliyor, ancak daha genel bir versiyon olduğunu unutmayın. Kullanılacak daha iyi adlar temel sınıf veya yalnızca üst sınıf olabilir.

Bu sefer daha gerçek bir örnek almak için Kişi adında bir üst sınıfa sahip olabiliriz. Durumu kişinin adını, adresini, boyunu ve kilosunu tutar ve alışverişe gitmek, yatağı yapmak ve TV izlemek gibi davranışlara sahiptir.

Öğrenci ve İşçi denilen Kişiden miras kalan iki yeni sınıf yapabiliriz. Daha özel versiyonlarıdır, çünkü isimleri, adresleri, TV seyretmeleri ve alışverişe gitmelerine rağmen, birbirlerinden farklı özelliklere de sahiptirler.

İşçinin iş unvanı ve istihdam yeri tutan bir durumu olabilirken, Öğrenci bir çalışma alanı ve bir öğrenme kurumu hakkında veri tutabilir.

Üst Sınıf Örneği:

Bir Kişi sınıfı tanımladığınızı düşünün:

kamu sınıfı kişi. { }

Bu sınıfı genişleterek yeni bir sınıf oluşturulabilir:

kamu sınıfı Çalışan kişi genişletir. { }

Person sınıfının, Employee sınıfının üst sınıfı olduğu söylenir.

Alt sınıf nedir?

İki nesne arasındaki ilişkide, bir alt sınıf, üst sınıftan devralınan sınıfa verilen addır. Biraz sıkıcı görünse de, bunun süper sınıfın daha özel bir versiyonu olduğunu unutmayın.

Önceki örnekte, Öğrenci ve İşçi alt sınıflardır.

Alt sınıflar ayrıca türetilmiş sınıflar, alt sınıflar veya genişletilmiş sınıflar olarak da bilinir.

Kaç Alt Sınıfa Sahip Olabilirim?

İstediğiniz kadar alt sınıfa sahip olabilirsiniz. Bir üst sınıfın kaç alt sınıfa sahip olabileceğine dair bir sınırlama yoktur. Benzer şekilde, kalıtım düzeylerinin sayısında bir sınırlama yoktur. Belirli bir ortak alan üzerine bir sınıflar hiyerarşisi inşa edilebilir.

Aslında, Java API kitaplıklarına bakarsanız birçok miras örneği görürsünüz. API'lardaki her sınıf, java.lang adlı bir sınıftan devralınır. Nesne. Örneğin, bir JFrame nesnesini her kullandığınızda, uzun bir miras satırının sonundasınız demektir:

 java.lang. Nesne. java.awt tarafından genişletildi. Bileşen. java.awt tarafından genişletildi. Konteyner. java.awt tarafından genişletildi. Pencere. java.awt tarafından genişletildi. Çerçeve. javax.swing tarafından genişletildi. JFrame. 

Java'da, bir alt sınıf bir üst sınıftan devraldığında, üst sınıfı "genişletme" olarak bilinir.

Alt Sınıfım Birçok Üst Sınıftan Miras alabilir mi?

Hayır. Java'da, bir alt sınıf yalnızca bir üst sınıfı genişletebilir.

Neden Kalıtım Kullanılmalı?

Devralma, programcıların zaten yazdıkları kodu yeniden kullanmalarına izin verir. İnsan sınıfı örneğinde, Kan grubunu tutmak için Erkek ve Kadın sınıfında yeni alanlar yaratmamıza gerek yoktur çünkü İnsan sınıfından miras alınan alanı kullanabiliriz.

Kalıtım kullanmanın bir diğer yararı da, bir alt sınıfı bir süper sınıfmış gibi işlememize izin vermesidir. Örneğin, bir programın Erkek ve Kadın nesnelerinin birden çok örneğini oluşturduğunu varsayalım. Programın tüm bu nesneler için uyku davranışını çağırması gerekebilir. Uyku davranışı İnsan üst sınıfının bir davranışı olduğundan, tüm Erkek ve Kadın nesnelerini birlikte gruplandırabilir ve onlara İnsan nesnesi gibi davranabiliriz.