מהו משתנה סטטי?

0

-פרסומת-

משתנה סטטי

-פרסומת-

משתנה סטטי בתכנות מונחה עצמים (OOP) הוא משתנה המוקצה באופן חד פעמי למחלקה ולא לכל מופע של מחלקה (אובייקט) שנוצר בניגוד למשתנה פנימי של מחלקה המוקצה לכל אובייקט ואובייקט מסוג המחלקה. המשתנה נוצר עם הפניה הראשונה לאחת הפונקציות של המחלקה שיכולה כמובן להיות גם בנאי של המחלקה (Constru
ctors) או למשתנה הסטטי עצמו.

בשפת ג'אווה JAVA נגדיר משתנה סטטי באופן הבא:

public Class Object_type{

public static int counter=0;

private int attrib1;

private String attrib2;

Object_type (int a1, String s)

{

                this.attrib1=a1;

                this.attrib2=s;

                counter++;

-פרסומת-

}

}

public static void main(String [] args)

{

Object_type object1 = new Object_type(1,"obj1");

System.out.println(Object_type.counter);// prints 1

}

גישה למשתנה סטטי:

ניתן לגשת למשתנה סטטי ציבורי ממחלקה אחרת באמצעות שם המחלקה:

Class_name.counter++;

הערה: ניתן גם לגשת למשתנה הסטטי דרך אובייקט מסוג המחלקה ע"י שם האובייקט (המצביע לאובייקט) או באמצעות (המצביע) this אך חשוב לזכור שבפועל קיים רק משתנה סטטי אחד שנגיש לכל המופעים של המחלקה והוא אינו משוכפל לכל אובייקט ואובייקט בנפרד, כלומר הפניה למשתנה סטטי דרך שם אובייקט היא מטעה, אך עדיין נכונה ב-JAVA:

Object_name.counter=2;

הערה: גישה למשתנה סטטי שהוגדר כפרטי –private דרך מחלקה אחרת תהיה זהה למשתנה פרטי שאינו סטטי ותתאפשר רק ע"י פונקציית אחזור (get function).

-פרסומת-

עשוי לעניין אותך
הגב

לא נפרסם את האימייל שלך.

רק לוודא זריז שאתה אנושי *