Kapseldamine sisse Java
โก Nutikas kokkuvรตte
Kapseldamine sisse Java on mehhanism, mis mรคhib muutujad ja meetodid รผheks รผksuseks, varjates samal ajal sisemisi รผksikasju. See kaitseb objekti andmeid privaatsete vรคljade ja kontrollitud juurdepรครคsu abil avalike getter- ja setter-meetodite kaudu.

Mis on kapseldamine Java?
Kapseldamine sisse Java on mehhanism muutujate (andmete) ja meetodite (koodi) koondamiseks รผheks รผhikuks. See on teabe รผksikasjade peitmise ning andmete ja objekti kรคitumise kaitsmise protsess. See on รผks neljast olulisest OOP kontseptsioonist. Kapsliklassi on lihtne testida, seega sobib see paremini ka รผhikutestimiseks.
Click siin kui video pole juurdepรครคsetav
รppige kapseldamist Java koos Nรคitega
Kapseldamise รผksikasjalikuks mรตistmiseks kaaluge jรคrgmist pangakonto klassi koos hoiuse ja saldo meetoditega
class Account { private int account_number; private int account_balance; public void show Data() { // code to show data } public void deposit(int a) { if (a < 0) { // show error } else account_balance = account_balance + a; } }
Oletame, et hรคkker pรครคses ligi teie pangakonto koodile. Nรผรผd proovib ta teie kontole summat -100 kahel viisil deponeerida. Vaatame tema esimest meetodit vรตi lรคhenemist.
1. lรคhenemine: Ta รผritab koodiga manipuleerides sisestada teie pangakontole vale summa (รผtleme -100).
Nรผรผd on kรผsimus - Kas see on vรตimalik? Lase uurida. Tavaliselt mรครคratakse klassi muutuja privaatseks, nagu allpool nรคidatud. Sellele pรครคseb juurde ainult klassis mรครคratletud meetoditega. รkski teine โโklass ega objekt ei pรครคse neile juurde.
Kui andmeliige on privaatne, tรคhendab see, et sellele pรครคseb juurde ainult samas klassis. รkski vรคlisklass ei pรครคse juurde teise klassi privaatandmete liikmele vรตi muutujale. Nii et meie puhul ei saa hรคkker teie kontole deponeerida summat -100.
2. lรคhenemine: Hรคkkeri esimene lรคhenemine ebaรตnnestus summa deponeerimisel. Jรคrgmisena proovib ta deponeerida summa -100, kasutades โdeposiidiโ meetodit.
Kuid meetodi rakendamisel kontrollitakse negatiivseid vรครคrtusi. Nii et ka teine โโlรคhenemine ebaรตnnestub.
Seega ei avalda te kunagi oma andmeid vรคlisele osapoolele. Mis muudab teie rakenduse turvaliseks.
Kogu koodi vรตib pidada kapsliks ja suhelda saab ainult sรตnumite kaudu. Sellest ka nimi kapseldamine.
Andmete peitmine Java
Andmete peitmine Java peidab klassi muutujaid teiste klasside eest. Sellele pรครคseb ligi ainult nende praeguse klassi meetodi kaudu. See peidab kasutajate eest rakenduse รผksikasju. Kuid lisaks andmete peitmisele on see mรตeldud paremaks haldamiseks vรตi grupeerimiseks.ping seotud andmetest. Vรคiksema kapseldusastme saavutamiseks Java, saate kasutada modifikaatoreid, nagu "kaitstud" vรตi "avalik". Kapseldamisega saavad arendajad koodi รผht osa hรตlpsalt muuta, ilma et see muud mรตjutaks.
Getter ja seadja sisse Java
Getter ja seadja sisse Java on kaks tavapรคrast meetodit, mida kasutatakse muutuja vรครคrtuste toomiseks ja vรคrskendamiseks. Neid kasutatakse peamiselt muutujate vรครคrtuste loomiseks, muutmiseks, kustutamiseks ja vaatamiseks. Vรครคrtuste vรคrskendamiseks kasutatakse setteri meetodit ja vรครคrtuste lugemiseks vรตi hankimiseks getteri meetodit. Neid tuntakse ka lisaseadmete ja mutaatoritena.
Jรคrgmine kood on nรคide getteri ja seadja meetoditest:
class Account{ private int account_number; private int account_balance; // getter method public int getBalance() { return this.account_balance; } // setter method public void setNumber(int num) { this.account_number = num; } }
รlaltoodud nรคites on getBalance() meetod gettermeetod, mis loeb muutuja account_balance vรครคrtust ja meetod setNumber() on seadistusmeetod, mis mรครคrab vรตi vรคrskendab muutuja konto_number vรครคrtust.
Abstractsioon vs kapseldamine
Sageli saadakse kapseldamisest valesti aru Abstracmine. Lรคhme รตppima -
- Kapseldamine on rohkem "Kuidas" funktsionaalsust saavutada
- Abstrackรผsimus seisneb pigem selles, โmidaโ klass teha saab.
Lihtne nรคide selle erinevuse mรตistmiseks on mobiiltelefon. Kus trรผkkplaadi keeruline loogika on kapseldatud puutetundlikku ekraani ja liides on ette nรคhtud absoluutseks kasutamiseks.tracaja see vรคlja.
Sisse kapseldamise eelised Java
- Kapseldamine seob andmeid nendega seotud funktsioonidega. Funktsionaalsused tรคhendavad siin "meetodeid" ja andmed "muutujaid"
- Seega hoiame muutujat ja meetodeid รผhes kohas. See koht on "klass". Klass on kapseldamise alus.
- koos Java Kapseldamine, saate oma koodis kriitiliste andmeliikmete jaoks peita (juurdepรครคsu piirata), mis parandab turvalisust
- Nagu me varem arutasime, kui andmeliige on kuulutatud "privaatseks", pรครคseb sellele juurde ainult samas klassis. รkski vรคline klass ei pรครคse juurde teise klassi andmeliikmele (muutujale).
- Kui teil on aga vaja neile muutujatele juurde pรครคseda, peate kasutama avalik "saatja" ja "seadja" meetodid.






