Getters un Setters Java paskaidrots
Getters un seters tiek izmantoti, lai aizsargātu jūsu datus, īpaši, veidojot klases.
Katram gadījuma mainīgajam getter metode atgriež vērtību, savukārt setera metode nosaka vai atjaunina tā vērtību. Ņemot to vērā, getters un seters ir attiecīgi zināmi arī kā accessors un mutators .
Pēc vienošanās getters sākas ar vārdu "get" un seters ar vārdu "set", kam seko mainīgā nosaukums. Abos gadījumos mainīgā lieluma nosaukuma pirmais burts tiek ievadīts ar lielo burtu:
public class Vehicle { private String color; // Getter public String getColor() { return color; } // Setter public void setColor(String c) { this.color = c; } }
Metode getter atgriež atribūta vērtību. Setter metode paņem parametru un piešķir to atribūtam.
Kad marķieris un seteris ir definēti, mēs tos galvenokārt izmantojam:
public static void main(String[] args) { Vehicle v1 = new Vehicle(); v1.setColor("Red"); System.out.println(v1.getColor()); } // Outputs "Red"
Getters un seters ļauj kontrolēt vērtības. Pirms vērtības patiesas iestatīšanas jūs varat pārbaudīt norādīto vērtību iestatītājā.
Kāpēc izmantot getters un seters?
Getters un seters ļauj jums kontrolēt, cik svarīgiem mainīgajiem tiek piekļūts un atjaunināts jūsu kodā. Apsveriet, piemēram, šo iestatītāja metodi:
public void setNumber(int number) { if (number 10) { throw new IllegalArgumentException(); } this.number = num; }
Izmantojot setNumber
metodi, jūs varat būt pārliecināts, ka vērtība number
vienmēr ir no 1 līdz 10. Tas ir daudz labāk nekā number
tieši mainīgā mainīšana:
obj.number = 13;
Ja jūs number
tieši atjaunināt , iespējams, ka jūs kaut kur citur kodā izraisīsit neparedzētas blakusparādības. Šeit iestatīšana number
uz 13 pārkāpj ierobežojumu no 1 līdz 10, kuru mēs vēlamies noteikt.
Izveidojot number
privātu mainīgo un izmantojot setNumber
metodi, tas nenotiks.
No otras puses, vienīgais veids, kā nolasīt vērtību, number
ir izmantot getter metodi:
public int getNumber() { return this.number; }