Je, urithi halisi hutatuaje tatizo la almasi?
Je, urithi halisi hutatuaje tatizo la almasi?

Video: Je, urithi halisi hutatuaje tatizo la almasi?

Video: Je, urithi halisi hutatuaje tatizo la almasi?
Video: Siku zote za mwizi arobaini .Tazama video hii 2024, Mei
Anonim

Urithi halisi hutatua classic Tatizo la Diamond โ€. Inahakikisha kuwa darasa la watoto linapata mfano mmoja tu wa darasa la kawaida la msingi. Kwa maneno mengine, darasa la Nyoka mapenzi kuwa na mfano mmoja tu wa darasa la LivingThing. Madarasa ya Wanyama na Reptile yanashiriki tukio hili.

Katika suala hili, ni tatizo gani la almasi katika urithi?

The โ€œ tatizo la almasi โ€ ni utata unaoweza kujitokeza kama tokeo la kuruhusu nyingi urithi . Ni jambo zito tatizo kwa lugha (kama C++) zinazoruhusu nyingi urithi wa jimbo. InJava, hata hivyo, nyingi urithi hairuhusiwi kwa madarasa, kwa violesura pekee, na haya hayanastate.

Baadaye, swali ni, jinsi darasa la msingi linalosaidia katika urithi? Madarasa ya msingi ya mtandaoni kutoa njia ya kuokoa nafasi na kuepuka utata ndani darasa madaraja yanayotumia mirathi nyingi. Wakati a darasa la msingi imebainishwa kama a virtualbase , inaweza kutenda kama isiyo ya moja kwa moja msingi zaidi ya mara moja bila kurudia washiriki wake wa data.

Pia ujue, urithi halisi wa umma ni nini?

Urithi halisi ni mbinu ya C++ ambayo inahakikisha nakala moja tu ya anuwai za washiriki wa darasa la msingi ni kurithiwa na madarasa yanayotokana na wajukuu. Kipengele hiki ni muhimu kwa nyingi urithi , kama inavyofanya mtandaoni msingi wa somo la kawaida kwa darasa linalotokana na madarasa yote ambayo yanatokana nayo.

Je, Maingiliano yanatatuaje tatizo la almasi?

Jinsi gani kutumia a kiolesura katika Java kutatua ya tatizo la almasi ? Kwa hivyo, ikiwa mbili violesura ina saini ya njia sawa na darasa linataka kurithi (vitendo katika Java) kutoka kwa hizi mbili violesura , hakuna "njia ya mwili" ya kurithi, kwa hivyo " Almasi urithi" suala inaepukwa.

Ilipendekeza: