Објашњени гетери и сетери у Јави

Добављачи и постављачи се користе за заштиту ваших података, посебно приликом креирања класа.

За сваку променљиву инстанце, геттер метода враћа своју вредност док метода постављача поставља или ажурира своју вредност. С обзиром на то, апсорпциона и сета су такође познат као Налози са приступом и мутаторс , респективно.

По договору, гетери почињу речју „гет“, а сетери речју „сет“, након чега следи име променљиве. У оба случаја прво слово имена променљиве је написано великим словом:

public class Vehicle { private String color; // Getter public String getColor() { return color; } // Setter public void setColor(String c) { this.color = c; } }

Метода гетера враћа вредност атрибута. Метода постављача узима параметар и додељује га атрибуту.

Једном када су геттер и сеттер дефинисани, користимо их у нашем главном:

public static void main(String[] args) { Vehicle v1 = new Vehicle(); v1.setColor("Red"); System.out.println(v1.getColor()); } // Outputs "Red"

Гетери и постављачи омогућавају контролу над вредностима. Можете потврдити дату вредност у постављачу пре него што је стварно подесите.

Зашто користити гетере и сетере?

Гетери и постављачи вам омогућавају да контролишете како се приступа и ажурира важним променљивим у вашем коду. На пример, узмите у обзир овај метод постављања:

public void setNumber(int number) { if (number  10) { throw new IllegalArgumentException(); } this.number = num; }

Користећи setNumberметод, можете бити сигурни да је вредност numberувек између 1 и 10. Ово је много боље од numberдиректног ажурирања променљиве:

obj.number = 13;

Ако ажурирате numberдиректно, могуће је да ћете негде другде у коду изазвати нежељене нежељене ефекте. Овде подешавање numberна 13 крши ограничење од 1 до 10 које желимо да успоставимо.

Прављење numberприватне променљиве и коришћење setNumberметоде спречило би ово.

С друге стране, једини начин за очитавање вредности numberје коришћењем геттер методе:

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