6.4 Test - Triedy a Objekty (6.1 - 6.3)

Over si svoje vedomosti z kapitol o triedach, objektoch a konštruktoroch. Klikni na Áno alebo Nie - tlačidlo sa hneď zafarbí (zelená = správne, červená = nesprávne) a zobrazí sa komentár s vysvetlením. Otázky prechádzaš po jednej pomocou tlačidiel nižšie.

Otázka 1 / 15

Trieda (class) je šablóna, zatiaľ čo objekt je jej konkrétna inštancia.

Áno. Trieda definuje atribúty a metódy, objekt je konkrétny záznam vytvorený podľa tejto šablóny.

Atribút je premenná patriaca triede, metóda je funkcia patriaca triede.

Áno. Napríklad meno je atribút, zdravSa() je metóda.

Encapsulácia znamená, že všetky atribúty triedy majú byť verejné (public), aby k nim mal prístup ktokoľvek.

Nie. Encapsulácia je presný opak - interné údaje skryjeme (napr. private) a poskytneme len verejné rozhranie cez metódy.

Trieda sa v Kotline definuje kľúčovým slovom class.

Áno. Napríklad class Person { ... }.

V Kotline sú všetky členy triedy implicitne private, kým ich neoznačíme ako public.

Nie. Je to naopak - v Kotline je všetko implicitne public, takže žiadne modifikátory prístupu netreba písať.

Primárny konštruktor sa dá zapísať priamo v hlavičke triedy, napríklad class Person(val name: String).

Áno. Je to skrátený zápis pre triedu s atribútmi a konštruktorom.

Atribút deklarovaný v primárnom konštruktore pomocou var sa dá po vytvorení objektu meniť.

Áno. Napríklad counter.count = 5 je v poriadku, ak je count deklarovaný ako var.

Blok init sa vykoná až pri prvom volaní metódy na objekte, nie pri jeho vytvorení.

Nie. Blok init sa vykoná ihneď pri vytvorení (inicializácii) objektu.

Funkcia require() vyhodí IllegalArgumentException, ak je jej podmienka vyhodnotená ako false.

Áno. Často sa používa v bloku init na kontrolu vstupných hodnôt, napr. require(age >= 0) { "Vek nemoze byt zaporny" }.

Sekundárny konštruktor musí vždy zavolať primárny konštruktor (alebo iný sekundárny) pomocou this(...).

Áno. Ak trieda má primárny konštruktor, každý sekundárny ho musí zavolať cez this(...).

Ak trieda nemá primárny konštruktor, sekundárne konštruktory nemusia volať this(...).

Áno. V takom prípade je ale lepšie použiť blok init.

Trieda môže mať naraz viacero sekundárnych konštruktorov s rôznymi parametrami.

Áno. Napríklad trieda Config z lekcie má dva rôzne sekundárne konštruktory.

Dedičnosť umožňuje znovupoužiť kód rodičovskej triedy v podtriede.

Áno. Podtrieda môže pridať vlastné atribúty a metódy, no zdedený kód nemusí písať nanovo.

V Kotline musíme na vytvorenie inštancie triedy vždy zavolať jej konštruktor pomocou zátvoriek, napr. Person().

Áno. Objekt vytvoríme volaním konštruktora, napr. val person = Person().

Trieda Counter(var count: Int) umožňuje zmeniť hodnotu atribútu count po vytvorení objektu.

Áno. Keďže count je deklarovaný ako var, jeho hodnotu je možné neskôr meniť.

Tvoje skóre je 0 / 15