Sanal Kalıtım Nedir?
Sanal kalıtım, bir üst sınıfın uygulanmasının eksik olduğu
ve bir nesnenin tam tanımı için bir alt sınıfın gerekli olduğu bir kalıtım
türüdür. Bu tip kalıtım hem tek hem de çoklu kalıtımla birlikte kullanılabilir,
ancak en yaygın olarak çoklu kalıtımda kullanılır. Bir sanal taban sınıfından
miras alan herhangi bir sınıf, bu temel sınıfın doğrudan bir alt sınıfı olur. kredi notum düşük nasıl kredi çekerimBir
sanal taban sınıfı, tüm yöntemlerini uygulamak için bir alt sınıfa güvenebilir,
ancak bu bir gereklilik değildir.
C ++, sanal devralmayı kullanmak için en yaygın olarak
bilinen bilgisayar dilidir. C ++'da sanal devralma bildirmek için
"sanal" anahtar kelime kullanılır. Hem süper sınıf hem de alt sınıf,
sanal yöntemleri "sanal" anahtar kelimeyle bildirmelidir. Bu, C ++
derleyicisine süper sınıfın eksik olduğunu ve bunu tamamlamak için alt sınıftan
bilgi alması gerektiğini söyler . Alt sınıfı tamamlamak için alt sınıfı kullanmak,
alt sınıfların, aynı temel sınıfa sahip olmaları durumunda birbirlerinin
üzerine yazdıkları anlamına gelmez; bunun yerine, C ++ derleyicisi, her nesne
ile hangi parçaların gittiğini belirlemeye çalışır.
Sanal bir temel sınıf sanal devralma için gerekli
olduğundan, C ++'dakiglobal işlevler sanal olarak bildirilemez. Bu kalıtım türü
sadece nesne yönelimli programlama (OOP) prensiplerine bağlı kalarak
kullanılabilir. Bunun nedeni, küresel işlevlerin belirli bir sınıfla
ilişkilendirilmemesi ve genellikle kendi başlarına kendi kendine yeten
olmasıdır. Üst sınıf ve alt sınıf kalıtımı olmazsa, küresel işlevler ve sanal
devralmalar birbirini dışlar. Global işlevler, gelir belgesiz kredi veren bankalarteoride, sanal işlevlerin içinde kullanılabilir, ancak tersi
her zaman işe yaramayabilir.
Sanal devralma, birçok programlama problemini çözmek için
kullanılır ve en kullanışlı olanlardan biri belirsizliktir. Birden fazla
kalıtımda, B ve C iki alt sınıfa sahip bir baz sınıfı A ve daha sonra B ve C
sınıflarından miras alan bir D sınıfı olabilir. Bu model genellikle "ölüm
pırlası" olarak adlandırılır çünkü eğer A sınıfı, B ve C'nin hepsinin aynı
yöntemle uygulamaları vardır, D sınıfı için hangi uygulamayı kullanması
gerektiğini belirlemek mümkün değildir. Sanal kalıtım bu problemi çözmektedir,
çünkü her bir sınıfın uygulaması ayrı kalmaktadır ve bu nedenle kesin değildir.
Bu ayrım, her nesne türünü takip eden sanal masalar (vtables) adı verilen özel
dahili nesneler tarafından ele alınır, ancak bu tabloların bir programcı
tarafından açık bir şekilde manipüle edilmesine gerek yoktur. çünkü onlar dilin
içine yerleştirilmişlerdir.
Yorumlar
Yorum Gönder