Java, Sun Microsystems tarafından geliştirilen bir programlama dilidir. Java çeşitli uygulamalar geliştirmek için kullanılabilir. Nesneye yönelik, yapılandırılmış vb. Destekleyen çok paradigma bir dildir. Java'nın temel avantajı, Nesneye Yönelik programlamayı (OOP) desteklemesidir. Programcı sınıflar ve nesneler oluşturabilir. OOP'ta dört sütun vardır. Bunlar kalıtım, polimorfizm, soyutlama ve kapsülleme. Kalıtım ve arayüzler OOP ile ilişkilidir. temel fark kalıtım ve arayüz arasında kalıtım mevcut sınıflardan yeni sınıflar türetmek ve bir arabirim soyut sınıflar ve çoklu kalıtım uygulamaktır.
1. Genel Bakış ve Temel Fark
2. Java'da Kalıtım Nedir?
3. Java'da Arayüz nedir
4. Java'da Kalıtım ve Arayüz Arasındaki Benzerlikler
5. Yan Yana Karşılaştırma - Devralma ve Java Arayüzü Tabular Formunda
6. Özet
Kalıtım, kodun yeniden kullanılabilirliğini sağlayabilir. Kalıtım, var olan bir sınıfın niteliklerini ve yöntemlerini yeniden kullanmaya yardımcı olur. Eski sınıfı kullanarak yeni sınıf türetme mekanizmasına kalıtım denir. Eski sınıf, üst sınıf veya süper sınıf olarak bilinir. Türetilmiş sınıfa alt sınıf veya alt sınıf denir.
Java devralma sözdizimi aşağıdaki gibidir.
sınıf alt sınıfı_adı, süper sınıfı_adı genişletir
değişken bildirim;
yöntem beyanı;
Kalıtım kavramı aşağıdaki örnek kullanılarak açıklanabilir. Aşağıdaki gibi A adında bir sınıf olduğunu varsayın..
genel sınıf A
genel boşluk toplamı ()
( “Sum”) System.out.println;
Mevcut sınıfı değiştirmeden yeni bir yöntem eklemek istiyorsak, bunu aşağıdaki gibi yapabiliriz.
genel sınıf B
herkese açık void sub ()
System.out.println ( “Alt”);
Programcı kalıtım kullanarak A sınıfı toplamı kullanabilir ().
genel B sınıfı A sınıfını genişletir
herkese açık void sub ()
System.out.println ( “Alt”);
Ana işlevde, bir B nesnesi oluşturmak ve miras kullanarak A sınıfına ait olan B ve sum () sınıflarına ait olan sub () öğesini çağırmak mümkündür..
public static void main (Dize [] args)
B obj = yeni B ();
obj.sub ();
) (Obj.sum;
Farklı kalıtım türleri vardır. Bunlar tek miras, çoklu miras, çok seviyeli miras ve hiyerarşik mirastır. İçinde tek miras, bir temel sınıf ve bir türetilmiş sınıf vardır. İçinde çok seviyeli kalıtım, temel sınıf, orta sınıf ve türetilmiş sınıf olmak üzere üç sınıf vardır. Ara sınıf temel sınıftan mi, türetilmiş sınıf ise ara sınıftan miras alır. İçinde hiyerarşik miras, bir temel sınıf ve birçok türetilmiş sınıf vardır. Olarak bilinen özel bir türü var Hibrit kalıtım. İki veya daha fazla kalıtım türünün bir kombinasyonudur..
Şekil 01: Kalıtım
İçinde Çoklu kalıtım birçok temel sınıf ve bir türetilmiş sınıf vardır. A ve B sınıflarının temel sınıflar olduğunu varsayın. C Sınıfı türetilmiş sınıftır. Hem A hem de B sınıfları aynı yönteme sahipse ve programcı bu yöntemi türetilmiş sınıftan çağırırsa, bir belirsizlik sorununa neden olur. İki sınıfın miras alınması derleme zamanı hatasına neden olabilir. Bu nedenle, Java'da birden çok devralma desteklenmez. Bu sorunun üstesinden gelmek için bir arayüz kullanılabilir.
Soyutlama, uygulama ayrıntılarını gizleme ve yalnızca kullanıcıya işlevsellikleri görüntüleme işlemidir. Soyutlama, Soyut Sınıflar veya Arayüzler kullanılarak elde edilebilir. Soyut bir yöntem, uygulaması olmayan bir yöntemdir. En az bir soyut yöntemi olan bir sınıf, soyut bir sınıftır. Soyut bir sınıf örneği aşağıdaki gibidir.
soyut sınıf A
soyut geçersiz toplam ();
A ve B olarak iki soyut sınıf olduğunu varsayalım. A ve B soyut yöntemlerini uygulamak için yeni bir C sınıfı yaratılır. Daha sonra C sınıfı hem A hem de B'yi genişletmelidir. Ancak Java'da çoklu kalıtım desteklenmez. Bu nedenle arayüzleri kullanmalıdır. Arabirimler yöntemleri bildirmek için kullanılabilir, ancak yöntemleri tanımlamak mümkün değildir. Arabirimler kullanarak bir nesne oluşturmak mümkün değildir. C Sınıfı, A ve B arayüzündeki tüm yöntemleri uygulamalıdır.
arayüz A
void sum ();
arayüz B
void sub ();
C sınıfı A, B
genel boşluk toplamı ()
System.out.println ( “toplamı”);
herkese açık void sub ()
System.out.println ( “Çıkarma”);
Şimdi, ana programda bir C nesnesi oluşturmak ve her iki yöntemi çağırmak mümkündür.
public static void main (Dize [] args)
C obj = yeni C ();
) (Obj.sum;
obj.sub ();
Böylece, arayüzler birden fazla miras uygulamak için kullanabilir.
Arayüzlerin bir başka kullanımı da güvenlik sağlamasıdır. Aşağıdaki koda bakın.
arayüz A
void sum ();
B sınıfı A
genel boşluk toplamı ()
System.out.println ( “toplamı”);
herkese açık boşluk çarpma ()
( “Çarpma”) System.out.println;
B nesnesi oluştururken, sum () ve multiply () yöntemlerinin her ikisini de çağırmak mümkündür. Programcı multiply () işlevini kullanarak kısıtlamak istiyorsa, aşağıdaki gibi mümkündür.
public static void main (Dize [] args)
Bir obj = yeni B ();
) (Obj.sum;
Bir obj = yeni B (); bir nesne oluşturur. A tipindedir ve bellek B olarak tahsis edilmiştir. Sum () öğesini çağırmak mümkündür ancak multiply () işlemini gerçekleştiremez. Bu kısıtlama arayüzler kullanılarak yapılır.
Java'da Kalıtım ve Arayüz Karşılaştırması | |
Kalıtım, mevcut sınıflardan yeni sınıflar türetmek için bir OOP konseptidir. | Arayüz, OOP'de soyutlama ve çoklu kalıtım uygulamak için bir mekanizmadır. |
kullanım | |
Kalıtım kodun yeniden kullanılabilirliğini sağlar. | Arabirimler soyutlama ve çoklu kalıtım sağlar. |
Java, nesne yönelimli programlamayı destekleyen çok paradigmalı bir programlama dilidir. Kalıtım ve arayüzler nesne yönelimli programlama ile ilgilidir. Kalıtım ve arayüz arasındaki fark, kalıtımın mevcut sınıflardan ve arabirimlerden yeni sınıflar türetilmesi, soyut sınıflar ve çoklu kalıtım uygulamaktır.
Bu makalenin PDF sürümünü indirebilir ve alıntı notuna göre çevrimdışı amaçlar için kullanabilirsiniz. Lütfen PDF sürümünü buradan indirin Java'da Kalıtım ve Arayüz Arasındaki Fark
1. Nokta, Öğreticiler. “Java Kalıtım.”, Öğreticiler Noktası, 31 Ekim 2017. Buradan erişilebilir
2. Nokta, Öğreticiler. “Java Arayüzleri.” , Tutorials Point, 31 Ekim 2017. Buradan ulaşabilirsiniz
1.'CPT-OOP-kalıtım-bisikletleri 'Pluke tarafından - Commons Wikimedia üzerinden kendi çalışması, (Public Domain)