סי שארפ – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
Tanihen1 (שיחה | תרומות)
שורה 130:
בשפת C#{{D}} לא ניתן לכתוב [[פונקציה (תכנות)|פונקציות]] גלובליות או להגדיר משתנים גלובליים כמו בשפת C++{{D}} ו-VB. כל המתודות חייבות להיות מאוגדות במחלקות, ובפרט הפונקציה Main, שהיא נקודת הכניסה (ההתחלה) של ה[[תוכנית מחשב|תוכנית]].
 
התחליף לפונקציה גלובלית הוא מתודה סטטית (static), המופעלת דרך שם המחלקה שלה בלי הצורך ליצור מופע. כתחליף למשתנה גלובלי ניתן להגדיר [[משתנה סטטי]] במחלקה. מתודה סטטית איננה יכולה לגשת למשתנים רגילים ללא התייחסות לאובייקט ספציפי, אך יכולה לגשת למשתנים סטטיים, אותם ניתן לאתחל באמצעות בנאי סטטי. ניתן להגדיר מחלקה כסטטית, ובמחלקה כזאת ניתן להגדיר רק מתודות סטטיות. לדוגמה, המחלקה Console היא סטטית, וכך גם המתודות הכלולות בה כגון WriteLine. סוג מיוחד של מתודות סטטיות הן מתודות-הרחבה (extension methods).{{הערה|1=http://msdn.microsoft.com/en-us/library/vstudio/bb383977.aspx}}
 
במחלקות אבסטרקטיות ובממשקים ניתן להגדיר "מתודה אבסטרקטית": חתימה של מתודה ללא מימוש, שתמומש על ידי מחלקה יורשת.