Օ օբյեկտին ուղղված ծրագրավորման հիմնական հասկացություններից մեկը ծածկագրավորումն է: Encapsulation- ը տվյալների և մեթոդների մեկ միավորի մեջ փաթաթելու գործընթաց է, մեր դեպքում `դաս: Այլ կերպ ասած, ծածկագրումը ձեր ծրագրերն առավել անվտանգ դարձնելու միջոց է `կանխելով չթույլատրված դասարանների և առարկաների մուտքը որոշակի փոփոխականներ և մեթոդներ: Հիմա ինչո՞ւ եք ուզում, որ որոշ առարկաներ մուտք չլինեն որոշակի փոփոխականներ: Մտածեք ձեր բանկային հաշվի մասին: Ձեզ թույլ չեն տալիս գումար վերցնել ձեր հաշվից, եթե գումար չունեք:
Դուք չեք կարող բացասական գումար ավանդել, և չպետք է ուղղակի մուտք ունենաք ձեր հաշվեկշիռը փոխելու համար: Եկեք դիտարկենք այս տիպի օրինակը ծածկագրում: Այստեղ մենք ունենք բանկային հաշվի դաս: Մենք ունենք երկու մասնավոր հատկություն ՝ հաշվի համարը և հաշվի մնացորդը: Այնուհետև մենք ունենք շինարար, որտեղ մենք տալիս ենք դրա համարը և հաշվի մնացորդը և համապատասխան հատկացնում ենք այդ հատկությունները, ապա տպագրում ենք հաշիվ ստեղծած փաստը: 12-րդ տողում մենք ունենք մի մեթոդ, որը կոչվում է ավանդ, և դա մեզ թույլ է տալիս գումարներ փոխանցել մեր հաշվին:
Կարող եք նկատել, որ մենք այստեղ որոշակի պայմաններ ունենք, որպեսզի համոզվեք, որ բացասական գումար չենք պահում: Եվ ահա այստեղ մենք ունենք ավանդ (int addMoney): Եթե addMoney- ը բացասական է, ապա մենք տպագրում ենք, որ դուք չեք կարող բացասական գումար ներմուծել, քանի որ իրական կյանքում չեք կարող դա անել: Հակառակ դեպքում, եթե դա դրական թիվ է, ապա մենք առաջ ենք գնում և ավելացնում այդ գումարը հաշվի մնացորդում, ապա տպագրում այն գումարը, որը մենք ավելացրել ենք: Մենք ունենք նաև մի մեթոդ, որը կոչվում է այստեղից վերցնել 24-րդ տողում: Եվ այստեղ մենք համոզվում ենք, որ մենք չենք հեռացնում ավելին, քան ունենք մեր հաշվեկշռում:
Եվ եթե այն, ինչ մենք ուզում ենք հեռացնել, ավելին է, քան մեր հաշվի մնացորդը այստեղ 25-րդ տողից, ապա մենք պարզապես տպում ենք այն փաստը, որ դուք չեք կարող հեռացնել ավելին, քան ձեր հաշվին: Եթե removeMoney- ը հավասար է կամ պակաս է մեր հաշվից ունեցածը, ապա մենք առաջ ենք գնում և հանում ենք այստեղ 28-րդ տողի այս այլ հայտարարության մեջ, այնուհետև տպագրում ենք այն փաստը, որ մենք հանեցինք այդ գումարը ձեր հաշվից: Հիմա որտե՞ղ է ներմուծվում կծկումը: Դե, եթե վերադառնալու եք այստեղ, մենք ունենք այս մասնավոր և հանրային հիմնաբառեր:
Մենք չենք ցանկանում, որ բոլորը կարողանան օգտվել հաշվի մնացորդից և հաշվի համարից: Եվ ահա, մենք դրանք դրանք դարձրել ենք մասնավոր, և այնուհետև թույլ ենք տվել սխալի ստուգում կատարել մեր հասարակական մեթոդների ներսում: Եվ այսպիսով, միակ ձևը, որով օգտագործողը կարող է մուտք գործել մեր անձնական հաշվի համարը և մեր անձնական հաշվի մնացորդը, այն մեթոդների միջոցով է, որոնք հանրային են, որոնք ավանդ են և դուրս են բերում: Սա մեզ թույլ է տալիս, որպես ծրագրավորողներ, վերահսկել, թե ինչպես է օգտագործողը օգտագործում հաշվի համարը և հաշվի մնացորդը, քանի որ հիմնական մեթոդից նրանք մուտք չունեն դրանց:
Եկեք փորձենք այս բանկային հաշվի դասի օրինակ ստեղծել: Այսպիսով, մենք կվերադառնանք մեր հիմնական մեթոդին այստեղ և մենք պատրաստվում ենք գրել BankAccount, myBankAccount- ը այն է, ինչ մենք պատրաստվում ենք անվանել այն: Եվ մենք սխալ ենք գրել հաշիվը, ուստի մենք կներառենք այն: Եվ հետո մենք պատրաստվում ենք ստեղծել այն, մենք պատրաստվում ենք օգտագործել շինարարը նոր BankAccount- ով, այնուհետև առաջին համարը, որը մենք մտցնելու ենք, հաշվի համարը, ուստի մենք այն կկոչենք 4141, և այնուհետև այն գումարի չափը, որը հաշիվն է ունենալու, հաշվի մնացորդը և դա կլինի 100:
Այժմ տեսնենք, արդյոք կարող ենք օգտվել myBankAccount- ի հաշվի մնացորդից: Դա անելու համար մենք կարող էինք գնալ System.out.println, և սա տպում էր այն դեպի վահանակ և ինչ ենք ուզում տպել: myBankAccount.account_balance- ն այն է, ինչ կոչվում է փոփոխականը: Եվ մենք սխալ ենք ստանում: Եվ ապա այստեղ սխալն ասում է, որ հաշիվ_բալանսը մասնավոր մուտք ունի BankAccount- ում: Այսպիսով, քանի որ այն ունի մասնավոր մուտք, մենք չենք կարող ուղղակիորեն մուտք գործել այստեղ հիմնական մեթոդով:
Վերջին թարմացումը՝
09 սեպ, 2019 թ.