Տարբերություն օրինակի փոփոխականի և տեղային փոփոխականի միջև

Տարբերություն օրինակի փոփոխականի և տեղային փոփոխականի միջև
Տարբերություն օրինակի փոփոխականի և տեղային փոփոխականի միջև

Video: Տարբերություն օրինակի փոփոխականի և տեղային փոփոխականի միջև

Video: Տարբերություն օրինակի փոփոխականի և տեղային փոփոխականի միջև
Video: 60 մանկապարտեզում փորձարկվում է մանկավարժների վերապատրաստման չափորոշիչը 2024, Հուլիսի
Anonim

Instance Variable ընդդեմ տեղական փոփոխական

Անթարթային փոփոխականը փոփոխականի տեսակ է, որն առկա է օբյեկտի վրա հիմնված ծրագրավորման մեջ: Դա փոփոխական է, որը սահմանված է դասում, և այդ դասի յուրաքանչյուր օբյեկտ ունի այդ փոփոխականի առանձին պատճեն: Մյուս կողմից, տեղական փոփոխականների օգտագործումը չի սահմանափակվում միայն օբյեկտ կողմնորոշված ծրագրավորման լեզուներով։ Այն փոփոխական է, որը կարող է գնահատվել միայն կոդի որոշակի բլոկի շրջանակներում (օրինակ՝ ֆունկցիա, հանգույց և այլն), որտեղ այն սահմանված է։ Այս պատճառով, տեղական փոփոխականներն ասում են, որ ունեն տեղական շրջանակ:

Ի՞նչ է օրինակի փոփոխականը:

Անթարթային փոփոխականներն օգտագործվում են օբյեկտի վրա հիմնված ծրագրավորման մեջ՝ յուրաքանչյուր օբյեկտի վիճակը դասում պահելու համար: Նրանք նաև հայտնի են որպես անդամ փոփոխականներ կամ դաշտային փոփոխականներ։ Օրինակի փոփոխականները հայտարարվում են առանց Java-ում ստատիկ հիմնաբառի օգտագործման: Օրինակի փոփոխականներում պահվող արժեքները եզակի են յուրաքանչյուր օբյեկտի համար (յուրաքանչյուր օբյեկտ ունի առանձին պատճեն), և դրանցում պահվող արժեքները ներկայացնում են տվյալ օբյեկտի վիճակը։ Օրինակի փոփոխականի համար տարածություն հատկացվում է կույտում, երբ այդ օբյեկտը հատկացվում է կույտում: Հետևաբար, օրինակի փոփոխականները պահվում են հիշողության մեջ այնքան ժամանակ, քանի դեռ օբյեկտը կենդանի է: Օրինակ, մեկ մեքենայի գույնը անկախ է մեկ այլ մեքենայի գույնից: Այսպիսով, մեքենայի օբյեկտի գույնը կարող է պահվել օրինակի փոփոխականում: Գործնականում, օրինակի փոփոխականները հայտարարվում են դասերի ներսում, իսկ դրսից՝ մեթոդներից: Սովորաբար, օրինակի փոփոխականները հայտարարվում են որպես մասնավոր, որպեսզի դրանց հասանելի լինի միայն այն դասի շրջանակներում, որը հայտարարված է:

Ի՞նչ է տեղական փոփոխականը:

Տեղական փոփոխականները լոկալ տիրույթ ունեցող փոփոխականներ են և հայտարարագրված են որոշակի ծածկագրի բլոկում: Տեղական փոփոխականները կարող են դիտվել որպես փոփոխականներ, որոնք օգտագործվում են մեթոդի միջոցով՝ պահելու դրա ժամանակավոր վիճակը: Տեղական փոփոխականի շրջանակը որոշվում է՝ օգտագործելով այն վայրը, որտեղ հայտարարագրված է փոփոխականը, և այդ նպատակով հատուկ հիմնաբառեր չեն օգտագործվում: Սովորաբար, տեղական փոփոխականին հասանելիությունը սահմանափակվում է այն կոդերի բլոկում, որը հայտարարվում է (այսինքն՝ այդ կոդի բլոկի բացման և փակման փակագծերի միջև): Տեղական փոփոխականները սովորաբար պահվում են զանգերի կույտում: Սա թույլ կտա ռեկուրսիվ ֆունկցիայի կանչերին պահպանել լոկալ փոփոխականների իրենց սեփական պատճենները, որոնք կպահվեն առանձին հիշողության հասցեների տարածություններում: Երբ մեթոդն ավարտում է իր կատարումը, այդ մեթոդի մասին տեղեկատվությունը դուրս է գալիս զանգի կույտից՝ ոչնչացնելով նաև պահված տեղական փոփոխականները:

Ո՞րն է տարբերությունը Instance Variable-ի և Local Variable-ի միջև:

Անթարթային փոփոխականները հայտարարվում են դասերից դուրս, և նրանք պահում են օբյեկտի վիճակը, մինչդեռ տեղական փոփոխականները հայտարարվում են կոդային բլոկների մեջ և օգտագործվում են մեթոդի վիճակը պահելու համար:Օրինակի փոփոխականը կենդանի է այնքան ժամանակ, քանի դեռ այդ փոփոխականը պարունակող օբյեկտը կենդանի է, մինչդեռ տեղային փոփոխականը ակտիվ է այդ մեթոդի/կոդի բլոկի կատարման ընթացքում։ Օրինակի փոփոխականին (որը հայտարարված է հանրային) կարելի է մուտք գործել դասի ներսում, մինչդեռ տեղական փոփոխականին կարելի է մուտք գործել միայն այն կոդային բլոկի ներսում, որը հայտարարված է: Օրինակի փոփոխականների օգտագործումը սահմանափակվում է միայն օբյեկտ կողմնորոշված ծրագրավորմամբ, մինչդեռ տեղական փոփոխականները նման սահմանափակում չունեն:

Խորհուրդ ենք տալիս: