Menu
Coddy logo textTech

Deklarowanie metod

Część sekcji Podstawy ścieżki C# w Coddy. Lekcja 49 z 69.

Metoda to sekwencja kodu, która ma nazwę. Celem metody jest wielokrotne używanie fragmentu kodu.

Na przykład przyjrzyj się temu kodowi:

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

Wciąż używamy tego samego kodu Console.WriteLine("Welcome to Coddy"). Kolejnym problemem związanym z tym kodem jest to, że gdybyśmy chcieli zmienić wiadomość: Welcome to Coddy na coś innego, na przykład Welcome aboard, trzeba byłoby zmienić 3 różne linie kodu. Aby rozwiązać ten problem, użyjemy metod.

Aby zadeklarować metodę, używamy następującej składni:

access_modifier [modifiers] return_type method_name(parameters) {
	// kod
}

W naszym przykładzie utworzymy metodę o nazwie Greet i będzie ona wyglądać tak:

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

Rozłóżmy to na części:

  • public to modyfikator dostępu (określa, kto może używać tej metody)
  • static to modyfikator (oznacza, że metoda należy do samej klasy)
  • void to typ zwracany (oznacza, że metoda nie zwraca żadnej wartości)
  • Greet to nazwa metody
  • () zawiera parametry (tutaj nie ma żadnych)

Na razie po prostu zawsze zapisuj public static przed nazwą metody — później wyjaśnimy, co oznacza każde z tych słów.

Aby użyć/wywołać/wykonać metodę, piszemy Greet();:

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

Da to taki sam wynik jak powyżej.

Uwaga: W języku C# kolejność deklaracji metod w obrębie klasy nie ma znaczenia. Kompilator najpierw odczytuje całą klasę, więc metodę można wywołać przed jej definicją lub po niej w kodzie źródłowym — obie możliwości są prawidłowe.

Na przykład oba poniższe zapisy są poprawne w języku C#:

// Metoda najpierw zdefiniowana, potem wywołana
public static void Greet() {
    Console.WriteLine("Welcome to Coddy");
}

Greet();
Console.WriteLine("New session...");
Greet();
// Metoda wywołana NAJPIERW, zdefiniowana później — to również jest poprawne w C#
Greet();
Console.WriteLine("New session...");
Greet();

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

Wyzwanie

Łatwy

Napisz program, który pobiera jedno dane wejściowe — liczbę. Liczba ta wskazuje, ile razy należy wykonać poniższą metodę. 

Utwórz metodę, która oblicza sumę wszystkich liczb od 1 do 1000 (włącznie) i ją wyświetla. Nazwij metodę, jak chcesz.

Spróbuj swoich sił

using System;

public class Program {
    // Deklaracja metody
    public static void SumNumbers() {
        // Uzupełnij metodę
        
    }
    
    
    public static void Main(string[] args) {
        int n = int.Parse(Console.ReadLine());
        for (int i = 0; i < n; i++) {
            // Wywołaj metodę n razy
        }
    }
}
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Kompilator C# online