Blog

Kotlin vs. Java - menej kódu

Learn2Code tím - 06.01.2020 - Vzdelávanie

Kotlin a Java sú kompatibilné programovacie jazyky. V tom zmysle, že ak skompilujeme Java kód, tak sa vytvorí bytecode v súbore .class. Ak skompilujem Kotlin kód, tak sa vytvorí bytecode v súbore .class. Teda, či pracuješ v Kotline alebo v Jave, tak nakoniec budeš mať kód, ktorý si bude rozumieť a ktorý dokáže bežať tam, kde dokáže bežať JVM – java virtual machine.

V tomto článku vám chcem ukázať to, prečo bol Kotlin vytvorený – aby nám čo najviac zjednodušil písanie kódu. Predstav si, že chceš napísať triedu Auto. Tá má fieldy názov a počet dverí. Tieto fieldy budú private a final – teda po prvom nastavení ich nemôžeš zmeniť. Prístup k týmto fieldom môžeš spraviť len cez public get metódu. Zároveň, vieš zostrojiť auto tak, že mu zadáš len názov. Ak bude zadaný len názov, tak počet dverí bude automaticky 4. Ak zadáš názov a počet dverí, tak sa fieldy nastavia tak, ako sme to zadali v konštruktore.

Kód v Jave

Takto bude vyzerať kód napísaný v Jave:

public class Auto {
    private final String nazov;
    private final int pocetDveri;
    public Auto(String nazov) {
        this(nazov,4);
    }
    public Auto2(String nazov, int pocetDveri) {
        this.nazov = nazov;
        this.pocetDveri = pocetDveri;
    }
    public String getNazov() {
        return nazov;
    }
    public int getPocetDveri() {
        return pocetDveri;
    }
}

Najprv máme dva privátne final fieldy:

private final String nazov;
private final int pocetDveri;

Potom konštruktor, ak chcem vytvoriť objekt auto len pomocou názvu:

public Auto2(String nazov) {
    this(nazov,4);
}

Konštruktor, ak chcem vytvoriť auto a nastaviť názov a počet dverí:

public Auto2(String nazov, int pocetDveri) {
    this.nazov = nazov;
    this.pocetDveri = pocetDveri;
}

A nakoniec get metódy, aby sme mali prístup k daným fieldom:

public String getNazov() {
    return nazov;
}
public int getPocetDveri() {
    return pocetDveri;
}

Ako to spravím v Kotline?

Potrebujem tento kód:

class Auto (val nazov: String, val pocetDveri: Int = 4) {
}

To je všetko, tých 20 riadkov v Jave je jeden riadok kódu v Kotline. Za Auto sú zátvorky – to je primárny konštruktor, v ktorom sa nastavujú takzvané property.

Prvá property je nazov, ktorá je val – val znamená, že hodnota sa nemôže neskôr meniť. Druhá property má nastavené = 4, to znamená, že ak chcem vytvoriť auto len zadaním názvu, tak sa automaticky pocetDveri nastaví na 4. Takto vytvorím Auto zadaním oboch property a pod tým je prístup k property cez bodku:

val skoda = Auto("Skoda", 5)
skoda.nazov
skoda.pocetDveri

Vytvorenie auta len s názvom:

val auticko = Auto("Skoda")

Záver

Páči sa ti tento prístup? Chceš vedieť viac o programovacom jazyku Kotlin? Sleduj Learn2Code a verím, že nájdeš čo hľadáš. Pripravovaný kurz o Kotline zverejníme už čoskoro.


Logo facebook

Learn2Code tím

Učíme ľudí dizajnovať, robiť webstránky a programovať. Naše prezenčné kurzy nájdeš vo viacerých mestách na Slovensku a pomocou online kurzov sa môžeš vzdelávať z pohodlia domova.


Testovanie Java aplikácií s JUnit

Vzdelávanie

JUnit framework úvod Predstav si úplne jednoduchú metódu, ktorá má za úlohu spočítať dva vstupné parametre metódy. public static int sum(int...

Môžeme sa dnes na hodine hrať? Od zákerného slniečka k programu Scratch

Vzdelávanie

„Môžeme sa dnes na hodine hrať?“ To je otázka, s ktorou sa stretávam na hodinách počas krúžkov programovania.  Keď som začínal s učením, veľmi ma...

5 spôsobov ako rozvíjať svoje dieťa a nezakazovať mu počítač

Vzdelávanie

Často dnes vidíme tristný obraz detí, ako v tmavom kútiku v žiari displeja svojho mobilu, tabletu alebo počítača presedia celé hodiny a bavia sa na...