Dobavljači i postavljači koriste se za zaštitu vaših podataka, posebno pri stvaranju klasa.
Za svaku varijablu instance metoda gettera vraća svoju vrijednost dok metoda postavljača postavlja ili ažurira vrijednost. S obzirom na to, getters i utemeljitelji su također poznat kao Pristupnici i mutators , respektivno.
Po dogovoru getteri započinju riječju "get", a setteri riječju "set", nakon čega slijedi ime varijable. U oba slučaja prvo slovo imena varijable napisano je velikim slovom:
public class Vehicle { private String color; // Getter public String getColor() { return color; } // Setter public void setColor(String c) { this.color = c; } }
Metoda dobivača vraća vrijednost atributa. Metoda postavljača uzima parametar i dodjeljuje ga atributu.
Nakon što su getter i setter definirani, koristimo ga u našem glavnom:
public static void main(String[] args) { Vehicle v1 = new Vehicle(); v1.setColor("Red"); System.out.println(v1.getColor()); } // Outputs "Red"
Geteri i postavljači omogućuju kontrolu nad vrijednostima. Danu vrijednost možete provjeriti u postavljaču prije nego što je stvarno postavite.
Zašto koristiti gettere i settere?
Dobavljači i postavljači omogućuju vam kontrolu pristupa i ažuriranja važnih varijabli u vašem kodu. Na primjer, razmotrite ovu metodu postavljanja:
public void setNumber(int number) { if (number 10) { throw new IllegalArgumentException(); } this.number = num; }
Upotrebom setNumber
metode možete biti sigurni da je vrijednost number
uvijek između 1 i 10. To je puno bolje od number
izravnog ažuriranja varijable:
obj.number = 13;
Ako number
izravno ažurirate , moguće je da ćete negdje drugdje u kodu izazvati neželjene nuspojave. Ovdje postavljanje number
na 13 krši ograničenje od 1 do 10 koje želimo uspostaviti.
Izrada number
privatne varijable i upotreba setNumber
metode spriječili bi da se to dogodi.
S druge strane, jedini način za očitavanje vrijednosti number
je upotrebom getter metode:
public int getNumber() { return this.number; }