TOC

This article is currently in the process of being translated into Polish (~99% done).

Klasy:

Methods (functions)

Podczas, gdy właściwości i pola mogą być uważane za bierne części klasy, metody są aktywne. One będą wykonywały jedną lub więcej akcji i w końcu zwrócą wynik. W innych językach programowania są one czasem nazywane functions lub "funcs", ale w C#, tam, gdzie one należą do klasy, są one nazywane metodami. Metody są czasem bardzo użyteczne, ponieważ pozwalają one na hermetyzowanie część funkcjonalności metody, którą możesz później wywołać ponownie z innych miejsc.

Metodę definiujemy w ten sposób:

<visibility> <return type> <name>(<parameters>)
{
    <method code>
}

A tu mamy bardzo podstawowy przykład:

public int AddNumbers(int number1, int number2)
{
	return number1 + number2;
}

Ta podstawowa metoda doda dwie liczby i zwróci wynik. Przeanalizujmy jej części:

  • public oznacza dostępność metody (więcej o tym w dalszej części kursu)
  • int to zwracany typ. Jeśli nie chcesz, żeby twoja metoda zwracala cokolwiek, użyj słowa kluczowego void
  • AddNumbers to nazwa metody
  • (int number1, int number2) -to są parametry (więcej o nich później). Parametry są opcjonalne, możesz zostawić puste miejsce między nawisami. Nawiasy nie są opcjonalne.
  • Wewnątrz metody (między nawiasami klamrowymi), znajduję się kod metody. Może on zawierać jedną lub wiele linii kodu.

Aby wykonać metodę, napisz jej nazwę z dwoma nawiasami na końcu a w środku tych nawiasów wpisz parametry (jeżeli metoda ma jakieś) i średnik ( ; ) jak to:

AddNumbers(3, 39);

Przez to, że metody są zdefiniowane w klasach, możesz wywołać metodę na innej klasie, niż w tej, której teraz jesteś. Jeśli to prawda, powinieneś sprefiksować wywołanie metody z nazwą obiektu, lub w tym scenariuszu - metody static (więcej o nich później), nazwa klasy. Tutaj jest właśnie przykład, w którym wywołujemy metodę AddNumbers(), która była położona w innej klasie o nazwie MathHelper:

public void DoMath()
{
	MathHelper mathHelper = new MathHelper();
	int result = mathHelper.AddNumbers(4, 38);
	Console.WriteLine(result);
}	

Typy zwrócenia metod

Pogadajmy więcej o typach return. W przykładach powyżej, zdefiniowaliśmy metodę z integer jak typ return, ale jest dozwolone zwrócenie każdy inny typ daty C#. Tak naprawdę, możesz nawet zadeklarować metodę, która nic nie zwraca, tak jak zobaczyliśmy z naszą metodą DoMath() powyżej. Zauważ, że zamieniłem int ze słowem kluczowym void, co oznacza, że ta metoda nie powinna zwrócić niczego. W niektórych językach pgoramowania, funkcje bez typu zwrócenia nazywamy procedures, ale w C#, one zawsze były nazywane metodami.

Powinieneś mieć świadomość, że jeśli zadeklarujesz typ return dla metody, BĘDZIESZ musiał zwrócić coś - inaczej kompilator od razu będzie narzekać:

public int AddNumbers(int number1, int number2)
{
	Console.WriteLine(number1 + number2);
}
Compiler error: AddNumbers(int, int)': not all code paths return a value

To oznacza, że potrzebujesz jednego (lub więcej) słów return w metodzie, jeśli zadeklarowała typ return. Możesz potrzebować więcej niż jeden na sytuacje, w, których jest wiele możliwych ścieżek kodu, jak ta:

public int AddLargeNumbers(int number1, int number2)
{			
	if((number1 > 1000) && (number2 > 1000))
	{
		return number1 + number2;
	}
	return 0;
}

W tej sytuacji, potrzebujemy też drugiego komunikatu return - jeśli zostanie pominięty, kompilator będzie narzekać, ponieważ nasze instrukcje warunku mogłyby sprzeciwić się pierwszemu komunikatu return.

Podsumowanie

Metody pozwalają na hermetyzację i ponowne wykorzystanie funkcjonalności z kilku miejsc. Dając metodzie parametry, możesz dostać różne wyniki. Użyliśmy trochę parametrów w przykładach powyżej, lecz w następnym artykule, zajrzymy głębiej w temat parametrów metod.


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!