Menu
Coddy logo textTech

הגדרת מתודות

חלק מהיחידה יסודות במסלול ה-C# של Coddy. שיעור 49 מתוך 69.

מתודה היא רצף של קוד שיש לו שם. מטרתה של מתודה היא לעשות שימוש חוזר בקטע קוד פעמים רבות.

לדוגמה, כדאי להסתכל על הקוד הזה:

Console.WriteLine("Welcome to Coddy");
Console.WriteLine("New session...");
Console.WriteLine("Welcome to Coddy");
Console.WriteLine("Another session...");
Console.WriteLine("Welcome to Coddy");

אנחנו משתמשים שוב ושוב באותו קוד Console.WriteLine("Welcome to Coddy"). בעיה נוספת בקוד הזה היא שאם נרצה לשנות את ההודעה: Welcome to Coddy למשהו אחר, כמו Welcome aboard, נצטרך לשנות 3 שורות קוד שונות. כדי לפתור את הבעיה הזאת, נשתמש במתודות.

כדי להצהיר על מתודה, משתמשים בתחביר הבא:

access_modifier [modifiers] return_type method_name(parameters) {
	// קוד
}

בדוגמה שלנו, ניצור מתודה בשם Greet והיא תיראה כך:

public static void Greet() {
	Console.WriteLine("Welcome to Coddy");
}

אם נפרק את זה:

  • public הוא מציין גישה (קובע מי יכול להשתמש בשיטה הזאת)
  • static הוא מציין (פירושו שהשיטה שייכת למחלקה עצמה)
  • void הוא סוג הערך המוחזר (פירושו שלא מוחזר שום ערך)
  • Greet הוא שם השיטה
  • () מכיל פרמטרים (ריק כאן)

לעת עתה, כתבו תמיד public static לפני שם השיטה שלכם — נסביר בהמשך מה פירושה של כל מילה.

כדי להשתמש במתודה / לקרוא לה / לבצע אותה, נכתוב Greet();:

Greet();
Console.WriteLine("New session...");
Greet();
Console.WriteLine("Another session...");
Greet();

התוצאה תהיה זהה לתוצאה שלמעלה.

הערה: ב־C#, לסדר ההגדרות של המתודות בתוך מחלקה אין חשיבות. המהדר קורא תחילה את המחלקה כולה, ולכן אפשר לקרוא למתודה לפני ההגדרה שלה בקוד המקור או אחריה: שתי האפשרויות תקינות.

לדוגמה, שתי האפשרויות האלה נכונות ב-C#:

// המתודה מוגדרת תחילה, ואז נקראת
public static void Greet() {
    Console.WriteLine("Welcome to Coddy");
}

Greet();
Console.WriteLine("New session...");
Greet();
// המתודה נקראת תחילה ומוגדרת בהמשך — תקף גם ב-C#
Greet();
Console.WriteLine("New session...");
Greet();

public static void Greet() {
    Console.WriteLine("Welcome to Coddy");
}
challenge icon

אתגר

קל

כתבו תוכנית שמקבלת קלט אחד, מספר. מספר הקלט מציין כמה פעמים לבצע את המתודה הבאה. 

צרו מתודה שמחשבת את הסכום של כל המספרים בין 1 ל־1000 (כולל) ומדפיסה אותו; תנו למתודה שם לפי בחירתכם.

נסו בעצמכם

using System;

public class Program {
    // הצהרת מתודה
    public static void SumNumbers() {
        // השלימו את המתודה
        
    }
    
    
    public static void Main(string[] args) {
        int n = int.Parse(Console.ReadLine());
        for (int i = 0; i < n; i++) {
            // קראו למתודה n פעמים
        }
    }
}
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה יסודות

תרגלו בעצמכם: קומפיילר C# אונליין