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 setNumbermetodi, jūs varat būt pārliecināts, ka vērtība numbervienmēr ir no 1 līdz 10. Tas ir daudz labāk nekā numbertieši mainīgā mainīšana:

obj.number = 13;

Ja jūs numbertieši atjaunināt , iespējams, ka jūs kaut kur citur kodā izraisīsit neparedzētas blakusparādības. Šeit iestatīšana numberuz 13 pārkāpj ierobežojumu no 1 līdz 10, kuru mēs vēlamies noteikt.

Izveidojot numberprivātu mainīgo un izmantojot setNumbermetodi, tas nenotiks.

No otras puses, vienīgais veids, kā nolasīt vērtību, numberir izmantot getter metodi:

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