Sinusuportahan ba ng Java ang maramihang pamana Bakit o bakit hindi?
Sinusuportahan ba ng Java ang maramihang pamana Bakit o bakit hindi?

Video: Sinusuportahan ba ng Java ang maramihang pamana Bakit o bakit hindi?

Video: Sinusuportahan ba ng Java ang maramihang pamana Bakit o bakit hindi?
Video: DIFFERENT STORAGE TYPES EXPLAINED / ANO ANG PINAGKAIBA NG HDD AT SSD / HDD VS SSD / M.2 VS NVME - YouTube 2024, Nobyembre
Anonim

Hindi sinusuportahan ng java ang maramihang mga mana sa pamamagitan ng mga klase ngunit sa pamamagitan ng mga interface, maaari naming gamitin maramihang mana . Walang java hindi suportahan ang maramihang mana direkta dahil humahantong ito sa pag-override ng mga pamamaraan kapag ang parehong pinalawig na klase ay may parehong pangalan ng pamamaraan.

Dahil dito, pinapayagan ba ang maramihang pamana sa Java?

C++, Common lisp at ilang iba pang mga wika na sumusuporta maramihang mana habang java ay hindi sumusuporta dito. Java hindi payagan ang maramihang mana upang maiwasan ang kalabuan na dulot nito. Ang isa sa mga halimbawa ng naturang problema ay ang problema sa brilyante na nangyayari sa maramihang mana.

Alamin din, bakit masama ang multiple inheritance? Ang panganib sa maramihang mana ay pagiging kumplikado. Dahil baka maapektuhan ka maramihan modules sa iyong app mula sa parehong parent classes, hindi ganoon kadaling mangatuwiran tungkol sa mga pagbabago sa code. Ang anumang pagkakamali ay maaaring magdulot ng chain reaction ng mga bug. Ito ay kung saan maramihang mana maaaring maging produktibo.

Alamin din, aling mana ang hindi sinusuportahan ng Java Bakit?

Sa java hindi ito maaaring mangyari dahil wala maramihang mana . Dito kahit na ang dalawang interface ay magkakaroon ng parehong pamamaraan, ang implementing class ay magkakaroon lamang ng isang paraan at iyon din ay gagawin ng implementer. Ang dinamikong pag-load ng mga klase ay gumagawa ng pagpapatupad ng maramihang mana mahirap.

Bakit ginagamit ang maramihang pamana sa interface?

Tulad ng ipinaliwanag namin sa mana kabanata, maramihang mana ay hindi suportado sa kaso ng klase dahil sa labo. Gayunpaman, ito ay suportado sa kaso ng isang interface dahil walang kalabuan. Ito ay dahil ang pagpapatupad nito ay ibinigay ng klase ng pagpapatupad. interface Maipapakita{

Inirerekumendang: