Kalıtım, nesne yönelimli programlamada (OOP) merkezi bir kavramdır ve genellikle verimliliği artırmanın yapı taşlarından biri olarak görülmektedir. Bu eğitimde, Java'da kalıtım kavramını derinlemesine anlamanızı sağlayacaksınız. Erişim belirleyicileri ile nasıl çalışacağınızı, yapılandırıcıları nasıl kullanacağınızı ve kalıtımda kapsüllemenin ne gibi bir rol oynadığını öğreneceksiniz.
En Önemli Bulgu
- Kalıtım, bir sınıfın özelliklerini ve metodlarını miras almayı sağlar.
- private erişim belirleyicisi, değişkenlere veya metodlara erişimi kısıtlarken, protected, orijinal sınıftan miras alan sınıflar içinde genişletilmiş erişim sağlar.
- Yapılandırıcılar, nesneleri düzgün bir şekilde örneklemek için alt sınıfta çağrılmalıdır.
- Arayüz metotları, birden fazla spesifik sınıf ile çalışırken genelleştirilmiş şekilde kullanılabilir.
Aşama Aşama Kılavuz
Erişim Belirleyicileri: protected vs. private
Bir sınıfta, örneğin Araç gibi, bir değişkeni (örneğin renk) protected olarak tanımlarsanız, bu değişkeni türetilmiş bir sınıfta (örneğin Araba) doğrudan kullanabilirsiniz. Ancak, değişkeni private olarak tanımlarsanız, alt sınıfta ona doğrudan erişemezsiniz.

Bu, pratikte private değişkenlere yalnızca Setter ve Getter üzerinden erişim sağlanacağını ifade eder.
Örnek, renk private değişkenine erişmek için setFarbe ve getFarbe metodlarını kullanmamız gerektiğini göstermektedir.

Değişken protected olarak tanımlandıysa, Araba sınıfı içinde buna doğrudan erişip değerini değiştirebilirsiniz.
Kalıtımda Yapılandırıcıların Kullanımı
Bir alt sınıf tanımlarken, üst sınıfın yapılandırıcısının doğru bir şekilde çağrıldığını sağlamak zorundasınız.

Bu, bir Araba nesnesi oluşturulduğunda rengin doğru bir şekilde başlatılmasını garanti eder.

Alt sınıfta, üst sınıfın parametrelerini uygun şekilde ileten bir yapılandırıcı tanımladığınızdan emin olun.
Miras ve Metod Çağrıları
İki sınıf, Araç ve Araba, genel değişkenler ve metodlar kullanmanıza olanak tanır. Eğer Araç içinde bir metod tanımlarsanız, bu metodu aynı şekilde Araba içinde tekrar yazmadan kullanabilirsiniz.

Burada, araçRenkGoster metodu çağrılır ve getFarbe metoduyla sağlanan renk değeri görüntülenir.
Metodlara Erişim Kısıtlamaları
Eğer bir alt sınıfta, sınıfa uygun olmayan bir metodu çağırmaya çalışırsanız, bir derleme hatası alırsınız. Örneğimizde, getFarbe metodunu çağırmak için bir Araç nesnesi geçilmelidir.

Pratikte, çağırmadan önce metodun veri tipinize uygun olup olmadığını kontrol etmelisiniz. Bu yüzden, yalnızca Araç nesneleri bekleyen bir metoda bisiklet, araba veya her ikisini de geçebilirsiniz.
Static Bağlamlarda Örnek Metod Çağrıları
Static metodlarda (static) this anahtar kelimesinin kullanılamayacağını unutmayın, çünkü bu belirli bir örneği ifade etmez. Bu gibi durumlarda, başka bir metod kullanmanız veya mantığı yeniden yapılandırmanız gerekebilir.

Bu çağrı, meinAuto nesnesinin rengi doğru bir şekilde görüntülenir.
Özet - Java'da Kalıtım: Yeni Başlayanlar için Bir Kılavuz
Kalıtım, Java programlamasında kodun modülerleştirilmesine ve yeniden kullanılmasına yardımcı olan önemli bir kavramdır. Bu eğitimde, Erişim Belirleyicilerinin, Yapılandırıcıların ve Kalıtım ile ilgili Metod Çağrılarının temellerini öğrenmiş oldunuz.
Sıkça Sorulan Sorular
Alt sınıfta private değişkenlere nasıl erişebilirim?Alt sınıfta private değişkenlere doğrudan erişilemez. Getter ve Setter metodlarını kullanın.
protected ve private arasındaki fark nedir?protected, alt sınıf ve aynı paket içinde erişime izin verirken, private sadece kendi içinde erişilebilir durumdadır.
Alt sınıflarda yapılandırıcıları tanımlamak zorunda mıyım?Evet, üst sınıfın yapılandırıcısını değiştirmişseniz, alt sınıflarda yapılandırıcıları da uygun şekilde tanımlamalısınız.
Üst sınıfların metodlarını alt sınıflarda özgürce override edebilir miyim?Evet, final veya static olarak işaretlenmemiş metodları alt sınıfta override edebilir ve spesifik bir davranış uygulayabilirsiniz.