ב C#

adventureboy

New member
ב C#

מה בדיוק ההבדל אם אני שם static לפני פונקציה או שאני לא שם static. מה תפקידו של ה static?
 

yuval k

New member
static

modifier שמגדיר שמשתנה או מתודה מסויימים שייכים למחלקה שמגדירה אותם, ולא למופע של המחלקה. לא קוראים להם מתוך מופע, אלא מתוך הסוג, למשל אם X הוא משתנה סטאטי ששייך לקלאס C, ו-I הוא מופע של C, לא ניגשים ל-X ע"י I.X אלא ע"י C.X. זו המשמעות.
 

gilad g

New member
static

אומר שניתן להפעיל מתודה שנמצאת בתוך קלאס גם אם לא יצרנו אינסטנס של הקלאס. לדוגמא:
public class myClass { public method M() { } } ... //אנחנו חייבים ליצור אינסטנס, כלומר מופע, ולכן נקרא למתודה כך myClass c = new myClass(); c.M();​
במקרה שבו משתמשים ב-static:
public class myClass { public static method M() { } } ... //המתודה סטטית, לכן לא חייבים ליצור מופע. הקריאה תהיה באופן הזה: myClass.M();​
יש לציין, שכשמתודה היא סטטית, אין לה גישה לשאר החברים הלא-סטטיים של המחלקה
 
למעלה