Junior
Ի՞նչ է տեսադաշտը (scope) ծրագրավորման մեջ։
sobes.tech AI
Պատասխան AI-ից
Տեսանելիության դաշտը որոշում է փոփոխականի, մեթոդի կամ դասի հասանելիությունը ծրագրի որոշ մասում: Այն վերահսկում է, որտեղ կարելի է օգտագործել անվանված օբյեկտները և որտեղ նրանք դադարում են գոյություն ունենալ:
Java-ում հիմնական տեսանելիության դաշտերը հետևյալն են՝
- Բլոկ: սահմանափակված
{}կետերով: Բլոկի ներսում հայտարարված փոփոխականները հասանելի են միայն այդ բլոկում և դրա ներսի բլոկներում: - Մեթոդ: սահմանափակված մեթոդի մարմնով: Մեթոդի պարամետրերը և ներսում հայտարարված փոփոխականները հասանելի են միայն այդ մեթոդում:
- Դաս: սահմանափակված դասի մարմնով: Դասի անդամները (մակերեսները) և մեթոդները հասանելի են ցանկացած վայրից այդ դասում: Դրանց հասանելիությունը դուրսից կախված է մոդիֆիկատորներից (
public,private,protected,default): - Փաթեթ: կիրառվում է դասերի և դասի անդամների վրա (առանց մոդիֆիկատորի): Դասերը և անդամները հասանելի են նույն փաթեթում ցանկացած վայրից:
- Գլոբալ: Java-ում իրական գլոբալ տեսանելիության դաշտ չկա C++-ում: Ամենամոտը
public static finalդաշտերն են դասերում, որոնք հասանելի են ամբողջ ծրագրում:
Բլոկի տեսանելիության օրինակ:
// 'j' փոփոխականը չի տեսանելի այս բլոկից դուրս
{
int j = 10;
System.out.println(j); // հասանելի
}
// System.out.println(j); // սխալ՝ նշան չի գտնվել
Մեթոդի տեսանելիության օրինակ:
public void իմՄեթոդը(int պարամետր) { // 'պարամետր' միայն այստեղ է տեսանելի
int տեղականՓոփոխական = 5; // 'տեղականՓոփոխական' միայն այստեղ է տեսանելի
System.out.println(պարամետր); // հասանելի
System.out.println(տեղականՓոփոխական); // հասանելի
}
// System.out.println(տեղականՓոփոխական); // սխալ՝ նշան չի գտնվել
Տեսանելիության դաշտը օգնում է կանխել անունների բախումները, կառավարել փոփոխականի կյանքի ցիկլը և բարելավել կոդի ընթեռնելիությունը։