Egzemplioriaus kintamasis ir vietinis kintamasis
Egzemplioriaus kintamasis yra kintamojo tipas, esantis programuojant objektu. Tai kintamasis, kuris yra apibrėžtas klasėje, o kiekvienas tos klasės objektas turi atskirą to kintamojo kopiją. Kita vertus, vietinių kintamųjų naudojimas neapsiriboja objektyviomis programavimo kalbomis. Tai yra kintamasis, kurį galima įvertinti tik tam tikrame kodo bloke (pvz., Funkcija, ciklo blokas ir kt.), Kuriame jis apibrėžtas. Dėl šios priežasties sakoma, kad vietiniai kintamieji turi vietinę taikymo sritį.
Kas yra egzemplioriaus kintamasis?
Egzempliorių kintamieji naudojami objektuose programuojant kiekvieno objekto būseną klasėje. Jie taip pat žinomi kaip narių kintamieji arba lauko kintamieji. Egzempliorių kintamieji deklaruojami nenaudojant statinio raktinio žodžio „Java“. Vertės, saugomos egzempliorių kintamuosiuose, yra unikalios kiekvienam objektui (kiekvienas objektas turi atskirą kopiją), o juose saugomos vertės atspindi to objekto būseną. Erdvė egzemplioriaus kintamajam priskiriama kaupe, kai tas objektas priskiriamas kaupui. Todėl egzempliorių kintamieji saugomi atmintyje tol, kol objektas yra gyvas. Pavyzdžiui, vieno automobilio spalva nepriklauso nuo kito automobilio spalvos. Taigi automobilio objekto spalva gali būti išsaugota egzemplioriaus kintamajame. Praktikoje egzempliorių kintamieji yra deklaruojami klasėse ir už jų ribų. Paprastaiegzempliorių kintamieji yra deklaruojami kaip privatūs, kad juos būtų galima pasiekti tik toje klasėje, kurioje ji yra deklaruota.
Kas yra vietinis kintamasis?
Vietiniai kintamieji yra kintamieji, turintys vietinę apimtį, ir jie deklaruojami konkrečiame kodo bloke. Vietinius kintamuosius galima vertinti kaip kintamuosius, kuriuos metodas naudoja laikinai būsenai išsaugoti. Vietinio kintamojo apimtis nustatoma naudojant vietą, kurioje kintamasis yra deklaruojamas, o specialūs raktiniai žodžiai šiam tikslui nenaudojami. Paprastai prieiga prie vietinio kintamojo ribojama kodo bloke, apie kurį jis yra deklaruotas (ty tarp to kodo bloko atidarymo ir uždarymo petnešų). Vietiniai kintamieji paprastai saugomi skambučių kaminoje. Tai leistų rekursiniams funkcijų iškvietimams išlaikyti savo vietinių kintamųjų kopijas, kurios būtų saugomos atskirose atminties adresų vietose. Kai metodas baigia vykdyti, informacija apie tą metodą atsiranda iš skambučių kamino, taip pat sunaikinant saugomus vietinius kintamuosius.
Kuo skiriasi egzemplioriaus kintamasis ir vietinis kintamasis?
Egzempliorių kintamieji yra deklaruojami klasėse, nepriklausančiose metodams, ir jie saugo objekto būseną, o vietiniai kintamieji yra deklaruojami kodų blokuose ir naudojami metodo būsenai saugoti. Egzemplioriaus kintamasis yra gyvas tol, kol objektas, kuriame yra tas kintamasis, yra gyvas, o vietinis kintamasis yra vykdomas vykdant tą metodą / kodo bloką. Į egzemplioriaus kintamąjį (kuris yra paskelbtas viešas) galima patekti klasėje, o vietinį kintamąjį galima pasiekti tik to kodo bloke, kuriame jis yra deklaruotas. Egzempliorių kintamieji naudojami tik programuojant į objektą, o vietiniai kintamieji tokio apribojimo neturi.