Jason. Cała informatyka w jednym miejscu!

Przed Wami, kolejny ze znacznie lżejszych tematów jeśli chodzi o Kotlina, bo cały czas będę o nim pisał aż do wyczerpania zestawu materiału. Dowiecie się jak wartości domyślne w języku Kotlin mogą nam uprzyjemnić ten trudny, wyczerpujący i zarazem czasochłonny fach jakim jest programowanie! Czytajcie resztę!

WARTOŚCI DOMYŚLNE W JĘZYKU KOTLIN JEDNYM "Z UŁATWIACZY ŻYCIA"

Wybaczcie te powtórki, aczkolwiek ponownie trzeba podkreślić starania twórców języka Kotlin pod kątem otwierania wielu dróg zmierzających do uproszczenia pisania kodu przy jednoczesnym zachowaniu identycznego działania. Choć wartości domyślne częściowo występowały w Javie (zobaczcie niżej co mam na myśli), to jednak Kotlin dysponuje O WIELE szerszym spektrum działania i to w całej okazałości, a nie jako imitacja.

Przejdźmy do konkretów. Wartości domyślne w języku Kotlin to prosty dodatek do zapisu torujący drogę kompilatorowi do automatycznego przypisania parametrowi wartości domyślnej, w przypadku gdy nie zostanie podana jakakolwiek konkretna wartość podczas wywoływania funkcji czy konstruktora. Tyle! A teraz podejdziemy do tematu od strony praktycznej.

PREZENTACJA W KODZIE ŹRÓDŁOWYM

Przypuśćmy, że dysponujemy funkcją wymagającą podania aż czterech parametrów! Oto jej treść, a w zasadzie sam nagłówek, bo nie chcę przyćmiewać Wam samej istoty problemu:

fun doSomething(x: Int, y: Int, s: String, b: Boolean) {
	
}

Nie jest ważne co ta funkcja mogłaby robić. Ważne jest, że każde jej wywołanie będzie od nas wymagało każdorazowego podania wszystkich parametrów! Gdy jest ich kilka to jeszcze pół biedy, ale jakby było ich kilkanaście, to człowiek by zwariował!

doSomething(3, 5, "Kotlin", false)
doSomething(18, -3, "Książka", true)

Po to zostały zaprogramowane wspomniane wartości domyślne. Wartości domyślne w języku Kotlin eliminują ten problem ograniczając liczbę wprowadzania parametrów do kilku lub nawet do zera! A wszystko dzięki jednej prostej modyfikacji:

fun doSomething(x: Int, y: Int, s: String = "Undefined", b: Boolean = false) {
	
}

Umieścić znak przypisania po podanym typie danych i podać wartość domyślną jaka w naszej ocenie może być odpowiednia. To już wszystko! Od tej pory, będziemy mieli uprawnienia do wywołania tej samej metody tak samo, jak powyżej, ale również tak:

doSomething(0, 7)

Proste? Pewnie, że tak! A jakie pożyteczne! Dodam, że możecie to bezkarnie wykorzystywać dosłownie wszędzie tam, gdzie wymaga się parametrów, czyli:

  1. w funkcjach
  2. w konstruktorach klas zwykłych
  3. w konstruktorach klas danych

JESZCZE SŁÓWKO O JAVIE

Powróćmy na moment do Javy. Wspomniałem, że w Javie istniało to rozwiązanie, ale nie stricte jako wartości domyślne. Faktycznie, można było zrobić tak:

void doSomething(int x, int y, String s, boolean b) {
	
}

void doSomething(int x, int y) {
	doSomething(x, y, "Undefined", false);
}

jednakże oznaczało to konieczność powielenia tego samego nagłówka i dodania odpowiednich wywołań do tej pierwotnej czy też macierzystej wersji funkcji. Poza tym to nie są wartości domyślne, tylko zjawisko przeciążania funkcji, które polega na zdefiniowaniu dwóch lub więcej funkcji o tej samej nazwie różniącej się listą parametrów i mogącej różnić się także typem zwracanej wartości. To nie to samo! Wartości domyślne w języku Kotlin działają w pełni jako przez nas rozumiane wartości domyślne i nie wymagają żadnego powielania ani pisania dziesiątek linii bardzo podobnego do siebie kodu. Ten sam cel osiągamy przy pomocy delikatnych modyfikacji w nagłówku funkcji macierzystej.

Wartości domyślne w języku Kotlin

Wprowadzenie wartości domyślnych do nagłówka funkcji umożliwia późniejsze jej wywołanie z możliwością pominięcia wszystkich parametrów aktualnych posiadających wartość domyślną.


Konkludując, wartości domyślne w języku Kotlin nie należą do rzeczy trudnych (wcale a wcale!), a z całą stanowczością wartych opanowania i wykorzystywania, szczególnie w funkcjach i konstruktorach posiadających sporą liczbę parametrów formalnych.

PODOBNE ARTYKUŁY