Skip to main content

Ano ang paraan ng pag -override?

Ang overriding ng pamamaraan ay ginagamit sa programming na nakatuon sa object sa loob ng isang hierarchy ng mana, at nangyayari ito kapag ang isang pamamaraan na tinukoy sa isang superclass ay muling tukuyin sa isang subclass.Karaniwan, ang pamamaraan ng subclass ay gumagawa ng isang bagay na naiiba kaysa sa paraan ng superclass o lumalawak sa isang kakayahan ng superclass, ngunit hindi ito dapat mangyari.Ang pag -override ng pamamaraan ay nangyayari tuwing ang isang paraan ng superclass ay muling tukuyin sa isang subclass, anuman ang nilalaman ng redefined na pamamaraan.Ang muling tinukoy na mga lagda ng pamamaraan ay dapat na eksaktong pareho.

Halimbawa, ang isang klase A ay maaaring maglaman ng isang pamamaraan na tinatawag na dosomething, at ang pamamaraang ito ay hindi tumatagal ng mga parameter ng pag -input.Bilang karagdagan, ang mga klase B at C ay maaaring maging mga subclass ng Class A. Class B ay maaaring maglaman ng isang pamamaraan na tinatawag na dosomething, na hindi tumatagal ng mga parameter ng pag -input, at ang Class C ay maaaring maglaman ng isang pamamaraan na dosometro na tumatagal ng isang numero bilang isang parameter ng pag -input.Sa halimbawang ito, ang Class B lamang ang magpapakita ng paraan ng pag -overriding, dahil ang paraan ng dosomething nito ay may parehong pirma na paraan bilang superclass nito, klase A. Ang pamamaraan ng dosomething sa klase C, sa kabilang banda, ay nagpapakita ng labis na pag -load dahil lumilikha ito ng isang ganap na bagong pamamaraan.Ang mga virtual na pamamaraan sa mga superclass ay maaaring o hindi maaaring ipatupad, ngunit ang anumang kahulugan ng subclass ng mga ito ay isang halimbawa ng pag -override ng pamamaraan.Kapag ang isang pamamaraan ay nasobrahan sa isang subclass, ang pamamaraan ng superclass ay hindi tinawag maliban kung ito ay hinihimok nang malinaw.Ang tiyak na paraan ng pagtawag ng isang labis na pamamaraan ay madalas na sinabi upang itago ang pagpapatupad ng superclass.

Kahit na ang pag -override ng pamamaraan ay napaka -kakayahang umangkop, hindi lahat ng mga pamamaraan ay maaaring ma -overridden, at may mga oras na maaaring maging kanais -nais na ang katigasan na ito.Sa parehong Java at C ++, ang mga tukoy na keyword ay maaaring mailapat sa mga lagda ng pamamaraan upang maiwasan ang isang pamamaraan na mai -overridden sa isang subclass.Upang gawin ito, ginagamit ni Java ang pangwakas na keyword, at ginagamit ng C ++ ang keyword na const.Ang pag -iwas sa pamamaraan ng pag -iwas ay maaaring maging kapaki -pakinabang kung ang isang partikular na pag -andar ay dapat palaging hindi nagbabago sa buong isang puno ng mana.Ang mga kaso na may posibilidad na makikinabang sa karamihan mula sa overriding ay kapag ang isang subclass ay naglalayong magdagdag ng pag -andar sa isang paraan ng superclass nang hindi lumilikha ng isang bagong bagong pamamaraan upang gawin ito.Ang mga hindi pangkaraniwang kaso kung saan ang isang pamamaraan ay kailangang ganap na muling mabuo para sa isang tiyak na uri ng bagay ay maaari ring makinabang mula sa pamamaraang ito.Sa tuwing ang isang pamamaraan ay overridden, mahalaga para sa programmer na sapat na magkomento kapwa ang mga pamamaraan ng superclass at subclass.Sa isip, ang mga komentong ito ay dapat linawin kung ano ang ginagawa ng bawat variant ng pamamaraan, pati na rin kung paano at kung bakit naiiba sila.