Skip to main content

Ano ang isang virtual na klase?

Ang isang virtual na klase ay isang klase na inilalaan nang isang beses lamang sa memorya, na ang mga bata ng klase na iyon ay gumagamit lamang ng isang kopya ng klase ng magulang na itinatag sa memorya.Ang isang klase ay isang pangkat ng mga bagay na nagbabahagi ng mga karaniwang katangian o katangian.Ang paggawa ng isang virtual na klase ay nagbibigay ng mga object-orientated na mga wika sa programming Ang kakayahan ng paggamit ng maraming mana kapag ang pangalawa o higit pang mga henerasyon ng mga klase ng magulang ay nagmula sa mga karaniwang klase ng base ng mga ninuno.Depende sa wikang programming ng computer na isinangguni, ang virtual keyword, katulad na keyword, o syntax at semantika ng isang klase ay ginagamit upang ipahiwatig na ang isang partikular na klase ay dapat isaalang-alang na virtual.

Hindi lahat ng mga wika na nakatuon sa mga wikaay kapag ang isang klase ng bata ay maaaring makuha mula sa maraming mga klase ng magulang nang sabay.Sa isang wika ng programming tulad ng C ++, ang isang klase ay maaaring magmana ng lahat ng data ng miyembro at mga function ng miyembro mula sa parehong mga klase ng magulang nang sabay -sabay at magkaroon ng pag -access sa parehong mga hanay ng data at pag -andar ng magulang.Ang iba pang mga wika na sumusuporta sa maraming mana ay kinabibilangan ng Perl, Python, Tcl, at Eiffel.Ito ay tinatawag na problema sa brilyante, ang pangalan na nagmumula sa kung paano titingnan ang hierarchy sa sitwasyong ito.Kapag sinubukan ng isang programa ng tagatala na mag -instantiate ng isang klase, tulad ng isang klase ng apo na ginawa mula sa dalawang klase ng magulang na may isang karaniwang lola, dalawang kopya ng lola ay ginawa sa memorya, isa para sa bawat magulang.

Dahil sa kalabuan na dulot ng maraming mga kopya ng parehong lola sa memorya, ang tagatala ay hindi matukoy kung aling kopya ng lola ang dapat gamitin ng apo upang ma -access ang mga lola o pag -andar.Upang malutas ang sitwasyong ito, sa C ++ ang lolo't lola ay ginawa sa isang virtual na klase kapag idineklara ang mga magulang.Ito ay nagiging sanhi ng tagatala na gumawa lamang ng isang kopya ng lola sa memorya na ibinabahagi ng parehong mga magulang.Kapag ang lola ay naging isang virtual na klase, ang tagatala ay walang problema sa pagpapasya kung paano dapat ma -access ng apo ang lolo't lola dahil may isang kopya lamang ng lola.sa o maging batayan para sa mas malaking hierarchies sa hinaharap.Ang wastong paggamit ng isang virtual na klase ay nagbibigay ng mga hierarchies ng klase na higit na latitude sa pag -unlad;Gayunpaman, mayroon silang potensyal na magdulot ng mga pagkakamali na mahirap hanapin.Ang pag -aaral ng solidong mga prinsipyo sa engineering ng computer ay makakatulong upang matiyak na ang hindi inaasahang mga epekto mula sa hindi tamang samahan ng programa ay hindi nangyayari.