Getters ja Setters Java selitetään

Tietojesi suojaamiseen käytetään hakureita ja asetinlaitteita, erityisesti luodessasi luokkia.

Jokaiselle esiintymämuuttujalle getter-menetelmä palauttaa arvon, kun taas setter-menetelmä asettaa tai päivittää arvon. Kun otetaan huomioon tämä, getters ja laatijoiden tunnetaan myös Aksessorit ja mutators , vastaavasti.

Sopimusten mukaan ketjut aloitetaan sanalla "get" ja asettimet sanalla "set", jota seuraa muuttujan nimi. Molemmissa tapauksissa muuttujan nimen ensimmäinen kirjain on isolla:

public class Vehicle { private String color; // Getter public String getColor() { return color; } // Setter public void setColor(String c) { this.color = c; } }

Getter-menetelmä palauttaa määritteen arvon. Setter-menetelmä ottaa parametrin ja määrittää sen määritteelle.

Kun getter ja setter on määritelty, käytämme sitä pääasiassa:

public static void main(String[] args) { Vehicle v1 = new Vehicle(); v1.setColor("Red"); System.out.println(v1.getColor()); } // Outputs "Red"

Geters ja seters mahdollistavat arvojen hallinnan. Voit vahvistaa annetun arvon setterissä ennen arvon tosiasiallista asettamista.

Miksi käyttää ketjua ja asetinta?

Hakemistojen ja asetinten avulla voit hallita kuinka tärkeitä muuttujia käytetään ja päivitetään koodissasi. Harkitse esimerkiksi tätä setterimenetelmää:

public void setNumber(int number) { if (number  10) { throw new IllegalArgumentException(); } this.number = num; }

setNumberMenetelmää käyttämällä voit olla varma, että arvo numberon aina välillä 1-10. Tämä on paljon parempi kuin numbermuuttujan päivittäminen suoraan:

obj.number = 13;

Jos päivität numbersuoraan, on mahdollista, että aiheuttaa tahattomia sivuvaikutuksia muualla koodissasi. Tässä asettaminen number13 rikkoo 1-10 rajoitusta, jonka haluamme vahvistaa.

numberYksityisen muuttujan tekeminen ja setNumbermenetelmän käyttö estäisivät tämän tapahtumisen.

Toisaalta ainoa tapa lukea arvon numberon käyttää getter-menetelmää:

public int getNumber() { return this.number; }