Kas yra statiniai kintamieji?

Statiniai kintamieji, dar vadinami visuotiniais kintamaisiais, yra duomenų dalys, nesusijusios su konkrečiu klasės egzemplioriumi. Nepriklausomai nuo sukurtų klasės objektų skaičiaus, gali būti tik viena šių kintamųjų reikšmė. Priklausomai nuo konteksto, statiniai kintamieji gali būti lankstesni arba labiau ribojantys nei jų egzempliorių kintamųjų atitikmenys, kurie turi savo atskiras reikšmes kiekvienam konkrečiam klasės tipo objektui. Objektinio programavimo kalbose gera programavimo praktika paprastai reikalauja, kad statinių objektų, metodų ar kintamųjų naudojimas būtų kuo mažesnis, tačiau jie turi naudingų programų.

Viena iš pagrindinių priežasčių, kodėl statiniai kintamieji kartais laikomi ribojančiais, yra ta, kad kintamajam niekada negali būti daugiau nei viena reikšmė. Bet koks kintamojo priskyrimas perrašo ankstesnįjį ir prarandama bet kokia ankstesnės reikšmės informacija. Be kelių kintamojo kopijų negalima išsaugoti kelių duomenų reikšmių. Jei vertė pakeičiama, kiekvienas objektas, kurį ji veikia, turi veikti su nauja reikšme, o jei senoji reikšmė nebuvo skirta ištrinti, pakeitimas gali pakenkti kiekvienam konkretaus klasės tipo egzemplioriaus objektui. Jei kintamasis nėra kažkaip užrakintas kuriant, nenumatytų pokyčių rizika ir vėlesnė sumaištis, kurią jis gali sukelti objektams, verčia kai kuriuos programuotojus vengti statinių kintamųjų, kai tik įmanoma.

Statiniai kintamieji kartais gali būti laikomi lanksčiais dėl tos pačios priežasties, kad jie gali būti vadinami ribojančiais. Net jei kintamojo reikšmė nėra užrakinta, planuojami jo vertės pakeitimai gali turėti teigiamą poveikį. Kintamasis, kuris yra bendrinamas tarp visų klasės objektų, yra nuoseklus ir gali būti naudojamas tiek klasėje, tiek už jos ribų, užtikrinant, kad jo reikšmė visada yra tokia pati. Kintamieji, kurie yra statiniai, turi daug naudingų programų, ypač palaikant konstantas ir įgyvendinant serializavimą. „Java“ ypač priklauso nuo šio statinio serializacijos mechanizmo.

Yra tam tikros bendrosios taisyklės, kurias programuotojai dažnai naudoja diegdami statinius kintamuosius. Šie kintamieji dažniausiai geriausiai veikia kaip mažos duomenų reikšmės, nes dėl didelių statinių objektų programa gali būti daug standesnė, nei ji turi būti. Mažas duomenų reikšmes galima greitai ir lengvai pakeisti, per daug nesibaiminant, kad gali atsirasti klaidų. Dideliems statiniams objektams pakeisti reikia daugiau laiko ir pastangų, be to, juose dažniau pasitaiko klaidų, kurios sutrikdys visus klasės objektus. Tai yra gairės, o ne nepažeidžiamos taisyklės, ir, atsižvelgiant į programą, gali būti naudojami tiek maži, tiek dideli kintamieji.