JavaRush /Java Blog /Random-TL /Pagpapalawak/pagpapaliit ng mga uri ng sanggunian: iba't ...
Core
Antas
Екатеринбург

Pagpapalawak/pagpapaliit ng mga uri ng sanggunian: iba't ibang mapagkukunan - iba't ibang interpretasyon

Nai-publish sa grupo
Magandang hapon. May hinala ng isang error sa mga lektura ng JavaRush. Magkaroon ng Parent class at Child class na minana mula rito. Hayaan ang mga sumusunod na linya ng code: Parent parent = new Child; Child child = (Child) parent; Ayon sa lecture ng level 12 course, lesson 1 (1. Polymorphism and overriding), paragraph 5) (Type casting. ) ang unang linya ay isang pagpapaliit, at ang pangalawa ay isang pagpapalawak (sa lektura , Baka ang magulang, Balyena ang tagapagmana) Ngunit hindi ito totoo. Ang lahat ay eksaktong kabaligtaran. Ang kahulugan ng inilarawan ay malinaw: sa unang linya ay lumikha kami ng isang bagay na may uri ng Bata at limitado lamang ang paggamit nito sa mga pamamaraan na inilarawan sa klase ng Magulang. Ngunit ito ay isang extension at samakatuwid ang naturang pagbawas ay nangyayari nang hindi malinaw. At sa mga karagdagang materyales ng antas 10 ay sinabi: Ang iyong teksto upang i-link...
Ang extension ay nangangahulugan ng paglipat mula sa isang mas tiyak na uri patungo sa isang hindi gaanong tiyak na uri, i.e. paglipat mula sa mga bata patungo sa mga magulang. Sa aming halimbawa, ang conversion mula sa sinumang tagapagmana (Bata, Anak2) sa magulang (Magulang) ay isang extension, isang paglipat sa isang mas pangkalahatang uri. Katulad ng kaso sa mga primitive na uri, ang paglipat na ito ay ginawa ng JVM mismo kung kinakailangan at hindi nakikita ng developer, iyon ay, hindi ito nangangailangan ng anumang karagdagang pagsisikap, dahil palagi itong nagtatagumpay: maaari mong palaging ma-access ang isang bagay na nabuo mula sa isang tagapagmana ayon sa uri ng magulang nito. Magulang p1=bagong Anak(); Magulang p2=bagong Anak2(); Sa parehong linya, ang mga variable ng uri ng Magulang ay itinalaga ng isang halaga ng ibang uri, na nangangahulugang may nangyayaring conversion. Dahil isa itong extension, awtomatiko itong ginagawa at palaging matagumpay.
Ang pangalawang linya ng aking halimbawa, sa kabaligtaran, ayon sa parehong idagdag. ang mga materyales ay isang pagpapaliit na nangangailangan ng tahasang indikasyon ng uri sa mga panaklong. At sa lecture ito ay binibigyang kahulugan bilang extension, na marahil ay mali. Pakipaliwanag. Hindi ko gustong magkaroon ng dobleng magkasalungat na pagtingin sa uri ng paghahagis. Nasa ibaba ang isang fragment ng lecture. fragment ng lecture May mga hinala pa rin ng mga error sa (nakaraang) lecture. Saan ko dapat isulat ang tungkol dito? Hindi ko ito nakita sa FAQ.
Mga komento
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION