Jason. Cała informatyka w jednym miejscu!

Raz kolejny zwrócimy się w stronę Javy w celu przedstawienia bardzo przyjemnego i efektywnego zapisu. Umożliwia on zapisanie "rozciągliwej" metody, która będzie w stanie pobierać tyle parametrów ile tylko sobie zażyczycie. Jeden, pięć, nawet dwadzieścia :D. Taka implementacja jest możliwa, jeżeli się wie o jej istnieniu i o sposobie zapisu. Pojęciem tym w języku Java jest "zmienna liczba parametrów" (ang. variadic function), sposób zapisu opisuję w środku.

ZMIENNA LICZBA PARAMETRÓW W JĘZYKU JAVA. NA CZYM TO DOKŁADNIE POLEGA?

Tytułowa konstrukcja programistyczna pozwala na wstawienie dowolnej liczby argumentów wprowadzanych do podprogramu, czyli do metody. Jest to kolejna z tych rzeczy w programowaniu, która ma znacznie ułatwić pracę z wieloma wartościami naraz, ponieważ przeważnie wszystkie wprowadzane parametry są obsługiwane przez pętlę. Decyzja co potem można z tym zrobić należy do programisty.

Prostym przykładem jest sumowanie podanych liczb bez użycia pętli czy innego "kontenera". Zmienna liczba parametrów doskonale się do tego nada. Najczęstszą postacią jest postawienie w nawiasach obok nagłówka metody znaku wielokropka czy lepiej, trzech kropek (...). Większość języków programowania wspiera możliwość zaimplementowania zmiennej liczby parametrów, także wystarczy dobrze przejrzeć listę słów kluczowych, bo zapis nie jest jednoznaczny (zależy od języka). Po takim wyjaśnieniu zaprezentuję fragment kodu źródłowego jak możemy utworzyć metodę ze zmienną liczbą argumentów w języku Java.

Logo języka Java

Zmienna liczba parametrów w języku Java jest tworzona poprzez znak trzech kropek ustawionych obok pomiędzy typem danych, a nazwą "rozciągliwego" parametru.

Źródło: Wikipedia

PRZYKŁAD KODU ŹRÓDŁOWEGO

Poniżej prezentuję kod źródłowy w języku Java przedstawiający jak wygląda zastosowanie takiej konstrukcji:

KLASA "MAIN"

public class Main {
	public static void main(String[] args) {
		new Launcher();
	}
}

KLASA "LAUNCHER"

public class Launcher {
	public Launcher() {
		sum(5, 7, 18);
		sum(4);
		sum(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
	}

	public void sum(int ...numbers) {
		int total = 0;

		for (int n : numbers) {
			total += n;
		}

		System.out.println("Suma podanych liczb wynosi " + total);
	}
}

Kod przedstawia statyczną metodę "main", od której zaczyna się inicjacja programu, a w osobnej klasie "Launcher" jest definicja metody "sum", której zadaniem jest zsumowanie wszystkich podanych liczb całkowitych i wypisanie wyniku za pomocą metody "println". Zmienna liczba parametrów to ten wielokropek przed słowem "numbers". W przypadku Javy, można również wstawić tablicę i za jej pomocą przekazywać argumenty (nawet kod będzie taki sam), natomiast nie wolno Wam mieszać tablic z pojedynczymi argumentami.


Na tym się kończy artykuł o bardzo podstawowym zaprezentowaniu jak wygląda bezkarnie wstawianie tylu parametrów do metody, ile tylko chcecie :).

PODOBNE ARTYKUŁY