Objektorienteeritud programmeerimine: Mille poolest erinevad eksemplari liikmed ja staatilised liikmed?


Vastus 1:

Kordusliikmed tekivad ainult klassi astmetes. Need juhtumid eksisteerivad siis, kui nad on välja kuulutatud või kui need on loodud uute abil. Staatilised liikmed tekivad programmi käivitamise hetkel. Kas need on ülemaailmselt juurdepääsetavad või mitte, sõltub nende nähtavusest. Kui need on avalikud, peab ühele neist juurde pääsemiseks tegema vaid koodi, et täpsustada klass ja muutuja, mida ta soovib muuta, või see, millest ta soovib väärtust saada. Kui need on kaitstud või privaatsed, pole neile klassi hierarhiast otse pääsu. Kood väljaspool klassi hierarhiat, mis soovib juurdepääsu, peab selle saama kaudselt avaliku staatilise funktsiooni kaudu. Ma pole kindel selles, kas klassi eksemplaridel on privilegeeritud juurdepääs kaitstud või privaatsetele staatilistele liikmetele, kui nad kuuluvad samasse klassi. Ma kujutan ette, et tuletatud klassi eksemplaridel on tõenäoliselt probleeme privaatsetele staatilistele liikmetele juurdepääsuga, kuna privaatsetele liikmetele pole juurdepääsu klassist, mis neid sisaldab.


Vastus 2:

Astme muutuja: Astme muutuja deklareeritakse klassis, kuid väljaspool meetodit, konstruktorit või mõnda muud plokki. Neid nimetatakse seetõttu, et nende väärtused on eksemplarile spetsiifilised ja neid ei jagata eksemplaride vahel. Mõistagem seda programmilise näitega.

Ülaltoodud koodis on 'värv' minu esinemismuutuja, mille väärtus on seotud musta värviga.

Klassi muutuja: Klassi muutujaid nimetatakse ka staatilisteks muutujateks. Nendel muutujatel on ainult üks eksemplar, mida jagavad kõik klassi erinevad objektid. Nendele muutujatele pääseb juurde ka otse klassi nime järgi ja nad ei vaja ühtegi objekti. Mõistagem seda programmilise näite abil.

Kõigil autodel peab olema 4 rehvi, eks? Nii et ma olen oma ülaltoodud koodis deklareerinud staatilise muutuja kui "rehv", mille väärtus jääb kogu klassis samaks.

Samuti saate tutvuda Java juhendaja ajaveebiga, mis aitab teil näidetega üksikasjalikult mõista Java erinevaid põhialuseid.

Kas soovite rohkem teada saada? Sellele videole saate viidata Java klassides, mis tutvustab teid Java klasside ja Java erinevate võtmekomponentide üksikasjalikest üksikasjadest.

Loodan, et see aitab ! :)


Vastus 3:

Astme muutuja: Astme muutuja deklareeritakse klassis, kuid väljaspool meetodit, konstruktorit või mõnda muud plokki. Neid nimetatakse seetõttu, et nende väärtused on eksemplarile spetsiifilised ja neid ei jagata eksemplaride vahel. Mõistagem seda programmilise näitega.

Ülaltoodud koodis on 'värv' minu esinemismuutuja, mille väärtus on seotud musta värviga.

Klassi muutuja: Klassi muutujaid nimetatakse ka staatilisteks muutujateks. Nendel muutujatel on ainult üks eksemplar, mida jagavad kõik klassi erinevad objektid. Nendele muutujatele pääseb juurde ka otse klassi nime järgi ja nad ei vaja ühtegi objekti. Mõistagem seda programmilise näite abil.

Kõigil autodel peab olema 4 rehvi, eks? Nii et ma olen oma ülaltoodud koodis deklareerinud staatilise muutuja kui "rehv", mille väärtus jääb kogu klassis samaks.

Samuti saate tutvuda Java juhendaja ajaveebiga, mis aitab teil näidetega üksikasjalikult mõista Java erinevaid põhialuseid.

Kas soovite rohkem teada saada? Sellele videole saate viidata Java klassides, mis tutvustab teid Java klasside ja Java erinevate võtmekomponentide üksikasjalikest üksikasjadest.

Loodan, et see aitab ! :)