Getters ו Setters ב Java הסביר

גטרים וקובעים משמשים להגנה על הנתונים שלך, במיוחד בעת יצירת שיעורים.

עבור כל משתנה מופע, שיטת getter מחזירה את הערך שלה בעוד שיטת setter מגדירה או מעדכנת את הערך שלה. לאור זאת, עסקנים וגם קובעים ידוע גם בשם כלי גישה ו mutators , בהתאמה.

לפי מוסכמות, גטרס מתחילים במילה "get" וקובעים במילה "set", ואחריהם שם משתנה. בשני המקרים האות הראשונה של שם המשתנה באותיות רישיות:

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

שיטת הגטר מחזירה את ערך התכונה. שיטת ה- setter לוקחת פרמטר ומקצה אותו לתכונה.

לאחר שהגדר והגדיר הוגדרו, אנו משתמשים בו בעיקרנו:

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

גטרים וקובעים מאפשרים שליטה בערכים. אתה יכול לאמת את הערך הנתון במגדיר לפני שתגדיר את הערך בפועל.

למה להשתמש בגטרים וקובעים?

Getters and setter מאפשרים לך לשלוט באיזו מידה הגישה למשתנים חשובים מתעדכנת בקוד שלך. לדוגמה, שקול את שיטת הקובע הזו:

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; }