C++'da Kalıtım Oluşturucu nedir?

C Da Kalitim Olusturucu Nedir



C++'da, miras nesne yönelimli programlamada anahtar kavramdır. Türetilmiş bir sınıf, güçlü özellikleri sayesinde bir temel sınıfın özelliklerini ve davranışlarını devralabilir. miras C++'da yetenek. Türetilmiş bir sınıf, oluşturulduğunda hemen temel sınıfın tüm üyelerini devralır. Türetilmiş sınıf yapıcısının temel sınıf üyelerini de başlatması gerekir. C++'da, miras geliştiricilerin kodu yeniden kullanmasını, verimliliği artırmasını ve kodu mantıksal hiyerarşiler halinde düzenlemesini sağlayan güçlü bir özelliktir.

Kalıtımın yanı sıra, yapıcılar da C++'da gereklidir. A inşaatçı nesnenin özelliklerini başlatmanıza izin veren benzersiz bir üye işlevdir. Bir Miras oluşturucu hem temel sınıfı hem de türetilmiş sınıfın miras aldığı türetilmiş sınıf nesnelerini başlatmak için kullanılan bir yapıcıdır. bu miras oluşturucu hem miras alınan temel sınıf üyelerini hem de türetilmiş sınıf üyelerini başlatmaktan sorumludur. Bunu başarmak için yapıcı, temel sınıfın yapıcısını çağırarak, temel sınıftan miras alınanlar da dahil olmak üzere türetilmiş sınıfın tüm üyelerinin uygun şekilde başlatılmasını sağlar.

Temel sınıfın yapıcısını çağırarak ve ona gerekli parametreleri ileterek, miras oluşturucu temel sınıfın üyelerini başlatır. Bu, kullanılarak gerçekleştirilir 'temel sınıf(args)' yapıcıdaki başlatma listesi. Türetilmiş sınıfa özel diğer talimatlar yapıcı gövdesinde sağlanır.







için sözdizimi miras C++'da bir sınıf:



sınıf Türetilmiş sınıf : erişimBelirleyici BaseClass {
// sınıf üyeleri
} ;

Bu durumda oluşan yeni sınıf, 'Türetilmiş sınıf', miras alacak 'Temel Sınıf'. Devralınan üyelere erişim düzeyi “ erişimBelirleyici”. C++, üç tür erişim belirteci kullanır, yani 'kamu', 'özel', Ve 'korumalı' . Kelime 'halk' türetilmiş sınıfın temel sınıfın genel üyelerine erişimi olduğunu gösterir. Türetilmiş sınıfın, temel sınıfın üyelerine erişimi yoktur. 'özel' belirleyici. Türetilmiş sınıf, alt sınıfları tarafından miras alınabilen korumalı temel sınıf üyelerine erişime sahiptir. 'korumalı' belirleyici.



C++'da Kalıtım Örneği

Aşağıdaki örnek, uygulanmasını göstermektedir Miras C++'da:





#include
kullanarak ad alanı std ;

sınıf Hayvan {
halk :
geçersiz yemek yemek ( ) {
cout << 'Yiyebilirim!' << son ;
}
geçersiz uyumak ( ) {
cout << 'Uyuyabilirim!' << son ;
}
} ;
sınıf Kedi : halk Hayvan {
halk :
geçersiz miyav ( ) {
cout << 'Miyavlayabilirim!' << son ;
}
} ;
int ana ( ) {
kedi kedi1 ;
kedi1. yemek yemek ( ) ;
kedi1. uyumak ( ) ;
kedi1. miyav ( ) ;

geri dönmek 0 ;
}

Verilen kod iki sınıfı tanımlar, 'Hayvan' Ve 'Kedi' , Neresi 'Kedi' den türetilmiştir 'Hayvan' . Her iki sınıfın da bazı üye işlevleri vardır, örneğin 'yemek', 'uyku' , Ve 'miyav' . Ana işlev, sınıfın bir nesnesini oluşturur 'Kedi' ve çağırır miras sınıftan işlevler 'Hayvan' yanı sıra sınıfın özel işlevi 'Kedi' , hangisi 'miyav' . Program, kedinin yemek yiyebileceğini, uyuyabileceğini ve miyavlayabileceğini belirten metni konsola verir.

Çıktı



Bir sınıf türetildiğinde, temel sınıfın tüm üye değişkenleri ve üye işlevleri türetilmiş sınıfa aktarılır. bu miras türetilmiş sınıftaki üyelerin erişilebilirliği, erişim belirleyicisi tarafından belirlenir. Türetilen sınıf, halihazırda var olan özelliklerin yerine yeni özellikler de koyabilir. Temel sınıfın yöntemleri için yeni uygulamalar ekleyebilir ve yeni üye işlevler ve değişkenler ekleyebilir.

Şunu hatırlamak çok önemlidir: miras oluşturucu temel sınıfın varsayılan bir kurucusu varsa veya mevcut değilse, temel sınıfın kurucusunu gerekli parametrelerle açıkça çağırmak için kullanılmalıdır.

Çözüm

güçlü özelliği miras C++'da, sınıfların diğerlerinden özellikleri ve eylemleri devralarak kodu yeniden kullanmasına izin verir. C++'ın kullanışlı bir özelliği miras oluşturucu türetilmiş sınıfların bir temel sınıfın özelliklerini, yöntemlerini ve veri üyelerini devralmasına izin verir. Temel sınıf oluşturucular için bir başlatma listesinin eklenmesiyle, standart bir oluşturucuyla aynı sözdizimi kullanılarak tanımlanır. C++ programcıları, kod tekrarını en aza indirebilir ve kod yapısını geliştirebilir. miras oluşturucu . Nesne yönelimli programlamada karmaşık sınıf hiyerarşileri oluşturmak için önemli bir araçtır.