Virtual miras almaz problemini necə həll edir?
Virtual miras almaz problemini necə həll edir?

Video: Virtual miras almaz problemini necə həll edir?

Video: Virtual miras almaz problemini necə həll edir?
Video: Qadınlar yataqda nədən razı qalır? (Xanımlar izləməsin) 2024, Aprel
Anonim

Virtual miras həll edir klassik Almaz Problemi ”. Bu, uşaq sinfinin ümumi əsas sinifin yalnız bir nümunəsini almasını təmin edir. Başqa sözlə, Snake sinfi olacaq LivingThing sinifinin yalnız bir nümunəsi var. Heyvan və Sürünən sinifləri bu nümunəni paylaşır.

Bu baxımdan vərəsəlikdə almaz problemi nədir?

“ almaz problemi ” çoxluğa icazə verilməsi nəticəsində yarana bilən qeyri-müəyyənlikdir miras . Ciddi haldır problem çoxlu dillərə imkan verən dillər üçün (C++ kimi). miras dövlətin. Java-da, lakin çoxlu miras forclasslara icazə verilmir, yalnız interfeyslər üçün və bunlar vəziyyəti ehtiva etmir.

Sonradan sual yaranır ki, virtual baza sinfi varisliyə necə kömək edir? Virtual baza sinifləri məkana qənaət etmək və qeyri-müəyyənliklərdən qaçmaq üçün bir yol təklif edin sinif çoxlu varislikdən istifadə edən iyerarxiyalar. Nə vaxt əsas sinif a kimi müəyyən edilir virtual baza , dolayısı kimi çıxış edə bilər əsas onun məlumat üzvlərinin təkrarlanması olmadan bir dəfədən çox.

Onu da bil ki, virtual ictimai miras nədir?

Virtual miras baza sinfinin üzv dəyişənlərinin yalnız bir nüsxəsinin olmasını təmin edən C++ texnikasıdır miras qalmışdır nəvədən alınan siniflər tərəfindən. Bu xüsusiyyət birdən çox üçün faydalıdır miras , kimi edir virtual törəmə sinif və ondan alınan bütün siniflər üçün ümumi bir alt obyekti əsaslandırın.

İnterfeys almaz problemini necə həll edir?

Necə istifadə edərək interfeys Java-da həll etmək the almaz problemi ? Beləliklə, əgər iki interfeyslər eyni metod imzasına malikdir və bir sinif bu ikisindən miras almaq (Java-da həyata keçirir) istəyir interfeyslər , miras almaq üçün heç bir "metod gövdəsi" yoxdur, buna görə də " almaz miras" problem qarşısı alınır.

Tövsiyə: