Jeśli jesteś właścicielem tej strony, możesz wyłączyć reklamę poniżej zmieniając pakiet na PRO lub VIP w panelu naszego hostingu już od 4zł!
Strony WWWSerwery VPSDomenyHostingDarmowy Hosting CBA.pl

Sayard Blog

Blog o Androidzie, Javie i czymś tam jescze

Co mi się podoba w Kotlinie?

Oj, działo się w tym roku na Google IO. Google Lens, Android O i chyba najciekawsza dla programistów  informacja – nowy oficjalny język dla systemu Android. Kotlin, bo o nim mowa mimo prześmiesznej dla polaków nazwy jest naprawdę solidnym kawałkiem języka który sprawia że programowanie jest niezwykle przyjemne, a to wszystko dzięki kilku mądrym decyzjom.

Pełna interoperacyjność z Javą

Kotlin jest zaprojektowany z myślą o pełnej interoperacyjności z Javą. Oznacza to że na start mamy dostęp do wszystkich bibliotek Javy które łatwo możemy wywołać z poziomu Kotlina.  Działa to również w drugą stronę – klasy Kotlina z łatwością można wywołać w klasie Javy.

Data class

Pewnie często zdarzało się wam pisać klasy które nie robią nic poza przechowywaniem jakichś danych. W Javie takie klasy potrafią zabierać bardzo dużo miejsca. Weźmy na przykład taką klasę:

Trochę dużo tego kodu, nie?  Fakt, dużo. Zobaczmy teraz jak wygląda ta sama klasa w Kotlinie:

I tylko tyle jest potrzebne. Gettery i settery zostały zastąpione czymś co Kotlin nazywa Properties, które możemy wywoływać tak:

Wszystko fajnie, ale po co mi to skoro każde IDE wygeneruje mi konstruktor, gettery i settery automatycznie? Otóż po dodaniu tagu data przed class otrzymamy dostęp  do dodatkowych metod typu copy() equals() które w wypadku Javy musielibyśmy kodować sami a często są one niezwykle przydatne.

Parametry domyślne

Kolejna mądra decyzja która sprawia że pisanie kodu jest niezwykle przyjemne.  Weźmy na przykład sytuację w której chcemy mieć 2 konstruktory. W Javie wygląda to tak:

Natomiast w Kotlinie możemy podać wartość domyślną bezpośrednio w definicji metody lub (jak w tym wypadku) konstruktora.

Funkcje rozszerzające

Kotlin pozwala na dodawanie dodatkowych metod do klas bez ich dziedziczenia. Oznacza to że możemy zadeklarować na przykład taką metodę:

a następnie wywołać ją na dowolnym obiekcie Int a obrębie danego pakietu

Null Safety

Wadą wielu języków programowania, w tym Javy, jest to programy często wysypują się po odwołaniu do wartości null. Kotlin rozwiązuje ten problem. Weźmy na przykład zmienną x typu String. Jeżeli spróbujemy przypisać do niej null kompilator na to nie pozwoli. Możemy przypisać do niej wartość null tylko wtedy gdy po typie zmiennej umieścimy pytajnik.

Podobnie gdy spróbujemy uzyskać długość ciągu znaków ze zmiennej. Jeżeli może ona przybrać wartość null musimy umieścić pytajnik prze wywołaniem własności length. Zapewnia to swojego rodzaju blok try-catch który obsłuży wypadek w którym zmienna y ma wartość null. Możemy alternatywnie użyć dwóch wykrzykników które sprawią że w przypadku gdy y będzie równe null zostanie wyrzucone NullPointerException.

 

Podziel się z innymi!Share on Facebook
Facebook
Share on Google+
Google+
Tweet about this on Twitter
Twitter

1 Comment

  1. Przykład ze składnią klasy wydaje mi się trochę na wyrost, bo wystarczyłoby zrobić wszystkie pola publiczne i settery+gettery nie byłyby potrzebne. Ale fakt – konstruktor wciąż byłby nadmiarowy. Natomiast Null Safety mnie totalnie kupiło i uznałem, że projekt musi być robiony w tym języku 🙂

    “Pełna interoperacyjność z Javą” – przy jednym podprojekcie wyszło, że nie do końca tak jest, bo nie mogę skompilować projektu libgdx przez GWT aby wypluło mi build libgdx pod HTML5. Tutaj musiałem zrezygnować z Kotlina, o czym też raz zablogowałem.

Dodaj komentarz

Your email address will not be published.

*

© 2018 Sayard Blog

Theme by Anders NorenUp ↑