3.7 Inheritance

Kalıtım, nesne yönelimli programlamanın temel özelliklerinden biridir ve bir sınıfın (alt sınıf) başka bir sınıftan (üst sınıf) özellikleri ve davranışları miras almasını sağlar. Bu sayede, kod tekrarı azaltılır ve yazılım geliştirme süreci daha verimli hale gelir.

1. Basit Kalıtım (Single Inheritance)

Bir sınıfın yalnızca bir üst sınıftan özellikleri miras almasıdır.

Örnek

#include <iostream>
using namespace std;

class Hayvan {
public:
    void sesCikar() {
        cout << "Hayvan ses çıkarıyor!" << endl;
    }
};

class Kedi : public Hayvan {
public:
    void miyavla() {
        cout << "Kedi miyavlıyor!" << endl;
    }
};

int main() {
    Kedi kedi;
    kedi.sesCikar(); // Üst sınıftan miras alınan metot
    kedi.miyavla(); // Alt sınıfa ait metot
    return 0;
}

2. Çoklu Kalıtım (Multiple Inheritance)

Bir sınıfın birden fazla üst sınıftan miras almasıdır. C++ bu özelliği destekler.

Örnek

3. Çok Aşamalı Kalıtım (Multilevel Inheritance)

Bir sınıfın, başka bir sınıftan miras alarak yeni bir alt sınıf oluşturmasıdır.

Örnek

Kalıtım Erişimi (Inheritance Access)

Kalıtımda, erişim belirleyicileri (public, protected, private) kullanılarak alt sınıfların üst sınıflara erişim şekli belirlenir:

  • Public Kalıtım: Üst sınıftaki public ve protected üyeler alt sınıfta aynı erişimle görünür. (Örnek: class Kedi : public Hayvan)

  • Protected Kalıtım: Üst sınıftaki public ve protected üyeler alt sınıfta protected olarak görünür. (Örnek: class Kedi : protected Hayvan)

  • Private Kalıtım: Üst sınıftaki public ve protected üyeler alt sınıfta private olarak görünür. (Örnek: class Kedi : private Hayvan)

Örnek

Sonuç

Kalıtım, C++ dilinde nesne yönelimli programlamanın önemli bir parçasıdır. Kodun yeniden kullanımını artırır, yazılım geliştirme sürecini hızlandırır ve daha iyi bir organizasyon sağlar. Kalıtım erişimi sayesinde, alt sınıfların üst sınıfların üyelerine erişimi kontrol edilebilir. C++'da kalıtımın etkili bir şekilde kullanılması, yazılım projelerinin yönetimini ve bakımını kolaylaştırır.

Last updated

Was this helpful?