Bu videoda Java programlama dilinde Inheritance konusu çok detaylı bir şekilde anlatılmış, IS-A ilişkisine değinilmiştir, aşağıda ise Inheritance ile ilgili genel bilgiler verilmiştir.
Java’da Inheritance Nedir?
Inheritance, bir sınıfın diğer bir sınıftan türetildiği, yani diğer bir sınıfın özelliklerinin, yöntemlerinin ve davranışlarının miras alındığı bir nesne yönelimli programlama kavramıdır. Inheritance sayesinde, bir sınıfın kodunu tekrar kullanmak, kodun okunabilirliğini ve bakımını kolaylaştırmak mümkün olur. Ayrıca, kalıtım kullanılarak, sınıflar arasında bir hiyerarşi oluşturulabilir ve bu hiyerarşinin en üstündeki sınıflar genel davranışlar sağlar.
IS-A İlişkisi Nedir?
Is-A ilişkisi, inheritance kullanılarak oluşturulan sınıflar arasındaki bir ilişkidir. Is-A ilişkisi, bir sınıfın diğer bir sınıfın bir türü olduğunu belirtir. Örneğin, bir köpek bir hayvan türüdür, bir araba bir taşıt türüdür. Bu ilişki, kodun okunabilirliğini ve bakımını kolaylaştırır.
Java’da Inheritance Nasıl Kullanılır?
Inheritance kullanarak, bir sınıfın özelliklerini ve yöntemlerini miras almak mümkündür. Bu, bir sınıfın özelliklerini ve yöntemlerini tekrar kullanmaya gerek kalmadan, daha önce tanımlanmış bir sınıfı kullanarak yeni bir sınıf oluşturma fırsatı verir.
Inheritance kullanmak için, “extends” anahtar kelimesi kullanılır. “extends” anahtar kelimesi, bir sınıfın diğer bir sınıftan türetildiğini belirtir. Örneğin:
public class Hayvan {
public void yemekYe() {
System.out.println("Hayvan yiyor.");
}
}
public class Kedi extends Hayvan {
public void miyavla() {
System.out.println("Miyav!");
}
}
Bu örnekte, “Hayvan” sınıfı “Kedi” sınıfından türetilmiştir. “Kedi” sınıfı, “Hayvan” sınıfının özelliklerini ve yöntemlerini miras almaktadır. Böylece, “Kedi” sınıfı da “Hayvan” sınıfının “yemekYe()” yöntemini kullanabilir.
Inheritance Kullanmanın Avantajları
Java’da inheritance kullanmanın birçok avantajı vardır.
- Kodun Tekrar Kullanılabilirliği: Inheritance kullanarak, bir sınıfın özelliklerini ve yöntemlerini diğer sınıflarla paylaşmak mümkündür. Bu sayede, kod tekrarı önlenerek, kodun okunabilirliği ve bakımı kolaylaştırılır. Yeni bir sınıf oluşturulması gerektiğinde, miras alınan sınıfın özellikleri ve yöntemleri kullanılarak yeni sınıf daha hızlı ve kolay bir şekilde oluşturulabilir.
- Kodun Daha Kolay Bakımı: Inheritance, kodun daha kolay bir şekilde bakımını sağlar. Bir sınıfta yapılan değişiklikler, miras alan diğer sınıflarda da geçerli olur. Bu sayede, aynı değişiklikleri farklı sınıflara uygulamak yerine, bir kez yapılan değişiklikler tüm sınıflarda geçerli olur.
- Kodun Daha Okunaklı Olması: Inheritance kullanarak, sınıflar arasında bir hiyerarşi oluşturulur. Bu hiyerarşi, kodun daha okunaklı olmasını sağlar. Miras alınan sınıfın özellikleri ve yöntemleri daha üst seviyede yer alır ve alt seviyede bulunan sınıflar bu özellikleri ve yöntemleri kullanarak daha spesifik davranışlar sergilerler.
- Kodun Daha Esnek Olması: Inheritance, kodun daha esnek bir şekilde tasarlanmasını sağlar. Bir sınıfın ihtiyaçları değiştiğinde, miras alan diğer sınıflarda da değişiklik yapılabilir. Bu sayede, programın tasarımı daha esnek ve daha kolay değiştirilebilir hale gelir.
- Daha Az Kod Yazılması: Inheritance kullanarak, daha az kod yazmak mümkündür. Miras alınan sınıfın özellikleri ve yöntemleri kullanılarak yeni bir sınıf oluşturulduğunda, aynı kodu tekrar yazmaya gerek yoktur. Bu sayede, kodun daha az yazılması, programın daha hızlı bir şekilde geliştirilmesini sağlar.
- Kodun Daha Az Hata İçermesi: Inheritance kullanarak, kodun daha az hata içermesi mümkündür. Miras alınan sınıfta yapılan değişiklikler, miras alan diğer sınıflara da yansıdığından, kodun daha tutarlı ve daha az hata içermesi sağlanır. Ayrıca, aynı kodun tekrar tekrar yazılması yerine, bir kez yazılması sayesinde, kodun daha az hata içermesi mümkün olur.