Променљива инстанца вс Локална променљива
Примјерна варијабла је врста варијабле која је присутна у објектно оријентираном програмирању. То је променљива која је дефинисана у класи, а сваки објект те класе има засебну копију те променљиве. С друге стране, употреба локалних променљивих није ограничена на објектно оријентисане програмске језике. То је променљива која се може проценити само унутар одређеног блока кода (нпр. Функција, блок петље, итд.) У коме је дефинисана. Из тог разлога, за локалне варијабле се каже да имају локални опсег.
Шта је инстанца променљива?
Промјењиве инстанце се користе у објектно оријентираном програмирању за похрањивање стања сваког објекта у класи. Такође су познате и као чланске променљиве или променљиве поља. Променљиве инстанције се декларирају без употребе статичке кључне речи у Јави. Вриједности похрањене у варијаблама примјерка јединствене су за сваки објект (сваки објект има засебну копију), а вриједности похрањене у њима представљају стање тог објекта. Простор за променљиву инстанцу се додељује у хрпи, када се тај објект додељује у хрпи. Стога се променљиве инстанце чувају у меморији све док је објект активан. На пример, боја једног аутомобила је независна од боје другог аутомобила. Тако се боја аутомобила може сачувати у променљивој инстанци. У пракси се променљиве инстанце декларишу унутар класа и изван метода. Обично се променљивим примерцима декларише као приватне тако да им се може приступити само унутар класе која је декларисана.
Шта је локална променљива?
Локалне променљиве су променљиве које имају локални опсег и декларисане су унутар одређеног блока кода. Локалне варијабле могу се посматрати као променљиве које се користе методом за чување привременог стања. Опсег локалне променљиве одређује се коришћењем локације за коју је променљива декларисана, а посебне речи се не користе у ту сврху. Обично је приступ локалној варијабли ограничен унутар блока кода који је декларисан (тј. Између запорки отварања и затварања тог блока кодова). Локалне варијабле се обично чувају у скупу позива. То би омогућило рекурзивне позиве функција за одржавање властитих копија локалних варијабли које се спремају у засебне меморијске адресне просторе. Када метода заврши извршење, информације о тој методи искачу се из скупа позива, уништавајући и локалне променљиве које су похрањене.
Која је разлика између инстанције променљиве и локалне променљиве?
Промјењиве инстанце се декларирају унутар класа изван метода и похрањују стање објекта, док се локалне варијабле декларирају у блоковима кодова и користе се за похрањивање стања методе. Промјена инстанце је активна све док је објект који садржи ову варијаблу активан, док је локална варијабла активна током извођења тог блока методе / кода. Промјењивој инстанци (која је декларирана као јавна) може се приступити унутар класе, док се локалној варијабли може приступити само у блоку кода који је деклариран. Употреба променљивих примерака ограничена је само на објектно оријентисано програмирање, док локалне променљиве немају такво ограничење.