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 setNumbermeetodit, võite olla kindel, et väärtus numberon alati 1 kuni 10. See on palju parem kui ajakohastamine numbermuutuja otse:

obj.number = 13;

Kui värskendate numberotse, on võimalik, et põhjustate soovimatuid kõrvaltoimeid kusagil mujal oma koodis. Siin numberrikub 13 seadmine 1–10 piirangut, mille soovime kehtestada.

numberEra muutuja tegemine ja setNumbermeetodi kasutamine hoiaksid selle ära.

Teisest küljest on ainsaks viisiks väärtuse lugemiseks numbergetter-meetodi kasutamine:

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