C++ Kalıtım (Inheritance)

Merhaba arkadaşlar bu yazıda kalıtımı (inheritance) diğer adıyla miras almayı anlatacağım.
Nesneye dayalı programların en önemli konularından kalıtımdır.Kalıtım,temel bir sınıftan yeni bir sınıf türetilir.Kalıtım, programın işlevselliğini ve hızlı uygulamayı yeniden kullanma fırsatı verir.
Bir sınıfı oluşturduğumuz zaman yeniden değişkenler ve fonksiyonlar yazmak yerine olan bir sınıftan kalıtım ile kullanmak istediği değişken veya fınksiyonları kullanabilir.Bu da bize kod sayısında azalma olur ve kod karmaşıklığından bizi kurtarır.Bulunan mevcut sınıfa temel sınıf,yeni sınıfa türetilmiş sınıf denir.
Bir sınıftan birden fazla sınıf türetilebilir diğer bir deyişle miras alabilir.
Genel Kullanımı:
class türetilmiş sınıf : Erişim türü Temel sınıf
{
};
Böylece türetilmiş sınıf temel sınıftan kalıtım yapmış oldu.Temel sınıfın içerisinde public veya protected olarak tanımlanan tüm fonkdiyon ve değişkenlere ulaşıp üzerinde işlem yapabilir.Temel sınıftan türetilmiş olan bir sınıf dahi olsa,temel sınıfımızda private olarak tanımladığınan fonksiyon ve değişkenlere erişim mümkün değildir.Private olarak tanımlanan değerler sadece bulundukları sınıflarda kullanılabilir.
Basit bir örnek ile kalıtım olayını daha iyi anlayalım.

Örneğimizde turetilmis sınıfında herhengi birşey yazmadan main fonksiyonunda turetlmisten nesne oluşturup sorgu fonksiyonu sanki turetilmis sınıfının fonksiyonuymuş gibi kullanabildik.

 

Bu örneğimizde ise birden fazla sınıf oluşturarak bir temel sınıftan iki tane türetilmiş sınıf yapmış olduk.Ekran görüntüsünde de görüldüğü gibi türetilmiş sınıftan nesne oluşturup çalıştırdığımızda temel sınıfında yapıcı fonksiyonu çalıştı.

Çoklu Kalıtım
Şimdiye kadar bir tane temel sınıftankalıtım yaptık.Ancak bir türetilmiş sınıf birden fazla temel sınıftan kalıtım yapabilir.
Genel Kullanımı:
class türetilmiş sınıf adı:erişim türü temel sınıf1,temel sınıf2
{
//alt sınıfın gövdesi
};
Birden fazla temel sınıfı tanımlarken virgül(,) ile ayırırız.

Araba sınıfı hem arac hemde tekerlek sınıfından miras almış oldu.İkisindeki değerleride kullanabildi.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir