Getters ja Setters Java seletatakse
Gettereid ja seadistajaid kasutatakse teie andmete kaitsmiseks, eriti klasside loomisel.
Iga eksemplari muutuja puhul tagastab meetod getter oma väärtuse, samas kui setteri meetod määrab või värskendab selle väärtust. Arvestades seda, impulssgetteriteks ja kujundajad on tuntud ka lisandeid ja mutators võrra.
Kokkuleppe kohaselt algavad getters sõnaga "get" ja setters sõnaga "set", millele järgneb muutuja nimi. Mõlemal juhul on muutuja nime algustäht suurtähtedes:
public class Vehicle { private String color; // Getter public String getColor() { return color; } // Setter public void setColor(String c) { this.color = c; } }
Meetod getter tagastab atribuudi väärtuse. Setteri meetod võtab parameetri ja määrab selle atribuudile.
Kui tähis ja setter on määratletud, kasutame seda peamiselt:
public static void main(String[] args) { Vehicle v1 = new Vehicle(); v1.setColor("Red"); System.out.println(v1.getColor()); } // Outputs "Red"
Getters ja setters võimaldavad kontrollida väärtuste üle. Enne väärtuse tegelikku seadistamist võite setteris antud väärtuse kinnitada.
Miks kasutada gettereid ja settereid?
Getters ja seterid võimaldavad teil kontrollida, kui olulistele muutujatele teie koodis juurde pääseb ja neid värskendatakse. Mõelge näiteks sellele setteri meetodile:
public void setNumber(int number) { if (number 10) { throw new IllegalArgumentException(); } this.number = num; }
Kasutades setNumber
meetodit, võite olla kindel, et väärtus number
on alati 1 kuni 10. See on palju parem kui ajakohastamine number
muutuja otse:
obj.number = 13;
Kui värskendate number
otse, on võimalik, et põhjustate soovimatuid kõrvaltoimeid kusagil mujal oma koodis. Siin number
rikub 13 seadmine 1–10 piirangut, mille soovime kehtestada.
number
Era muutuja tegemine ja setNumber
meetodi kasutamine hoiaksid selle ära.
Teisest küljest on ainsaks viisiks väärtuse lugemiseks number
getter-meetodi kasutamine:
public int getNumber() { return this.number; }