Uvod v programski jezik Kotlin

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

Katero leto se šteje za uradni začetek programskega jezika Kotlin?

  • 2011 (correct)
  • 2013
  • 2008
  • 2010

Katero podjetje je razvilo programski jezik Kotlin?

  • JetBrains (correct)
  • Oracle
  • Microsoft
  • Google

Ali se Kotlin prevede izključno v izvorno kodo (native code) brez vmesne stopnje?

False (B)

Naštejte vsaj tri platforme, na katerih lahko deluje programski jezik Kotlin.

<p>Android, JVM, JavaScript</p> Signup and view all the answers

Kateri od naslednjih konceptov NI značilen za Kotlin?

<p>Ročno upravljanje pomnilnika (B)</p> Signup and view all the answers

Ključni besedi za deklaracijo spremenljivk v Kotlinu sta ______ in ______.

<p>val, var</p> Signup and view all the answers

Povežite programski jezik Kotlin z njegovimi značilnostmi:

<p>Statično tipiziran jezik = Tip napak je znan že ob prevajanju kode. Interoperabilnost z Javo = Zmožnost uporabe Javanskih knjižnic in ogrodij v Kotlinu. Več paradigem = Podpora objektno-usmerjenemu, funkcijskemu in imperativnemu programiranju. Null safety = Vgrajena podpora za preprečevanje NullPointerException napak.</p> Signup and view all the answers

Podpičja so obvezna na koncu vsake vrstice kode v Kotlinu.

<p>False (B)</p> Signup and view all the answers

Katera izjava pravilno opisuje razširitvene funkcije (extension functions) v Kotlinu?

<p>Omogočajo dodajanje novih funkcionalnosti obstoječim razredom brez dedovanja. (D)</p> Signup and view all the answers

Kaj je glavna prednost uporabe podatkovnih razredov (data classes) v Kotlinu?

<p>Samodejno generiranje metod</p> Signup and view all the answers

Ali lahko Kotlin koda neposredno uporablja knjižnice, napisane v C++?

<p>False (B)</p> Signup and view all the answers

Kateri stavek se uporablja za implementacijo pogojnega izraza v Kotlinu?

<p>when (D)</p> Signup and view all the answers

Če želimo zagotoviti, da razred v Kotlinu ne more biti razširjen, ga označimo s ključno besedo ______.

<p>final</p> Signup and view all the answers

Povežite naslednje tipe podatkov v Kotlinu z njihovo velikostjo v bitih:

<p>Byte = 8 bitov Short = 16 bitov Int = 32 bitov Long = 64 bitov</p> Signup and view all the answers

Ali je mogoče v Kotlinu ustvariti polje (array) različnih tipov podatkov?

<p>False (B)</p> Signup and view all the answers

Katera od naštetih možnosti pravilno deklarira polje celih števil v Kotlinu?

<p>val numbers: IntArray = intArrayOf(1, 2, 3) (D)</p> Signup and view all the answers

Kako v Kotlinu preverimo, ali je spremenljivka null-safe?

<p>Uporabimo varen klic <code>?.</code></p> Signup and view all the answers

Ali lahko v Kotlinu definiramo lokalno funkcijo znotraj druge funkcije?

<p>True (A)</p> Signup and view all the answers

Kateri od naštetih operatorjev ima najvišjo prioriteto v Kotlinu?

<p>++ (B)</p> Signup and view all the answers

V Kotlinu se razred, ki je namenjen dedovanju, označi s ključno besedo ______.

<p>open</p> Signup and view all the answers

Povežite koncepte OO programiranja s Kotlin primeri:

<p>Dedovanje = class ChildClass: ParentClass() Vmesnik (interface) = interface MyInterface { ... } Polimorfizem = Funkcija s parametri različnih tipov Kapsulacija = private val memberVariable</p> Signup and view all the answers

Ali lahko Kotlin vmesnik (interface) vsebuje implementacijo metod?

<p>True (A)</p> Signup and view all the answers

Kako se v Kotlinu deklarira singleton razred?

<p>Uporabimo ključno besedo <code>object</code>. (A)</p> Signup and view all the answers

Katero ključno besedo uporabimo za ustvarjanje instance razreda v Kotlinu?

<p>Ni posebne ključne besede.</p> Signup and view all the answers

Če želimo uporabiti lastnosti (properties) razreda izven tega razreda, morajo biti deklarirane kot private.

<p>False (B)</p> Signup and view all the answers

Kateri od naštetih dosegov (visibility modifiers) v Kotlinu omogoča dostop samo znotraj modula?

<p>internal (D)</p> Signup and view all the answers

V Kotlinu so vmesniki (interfaces) označeni s ključno besedo ______.

<p>interface</p> Signup and view all the answers

Povežite naslednje koncepte s primeri Kotlin kode:

<p>Enum razred = enum class Color { RED, GREEN, BLUE } Zaprte razrede (sealed classes) = sealed class Result { data class Success(val value: T): Result() data class Error(val message: String): Result() } Tip alias = typealias Name = String Inline funkcije = inline fun performOperation(operation: () -&gt; Unit) { ... }</p> Signup and view all the answers

Ali je mogoče razširiti razred String v Kotlinu z novo metodo?

<p>True (A)</p> Signup and view all the answers

Katera od naslednjih trditev pravilno opisuje funkcijo let v Kotlinu?

<p>Omogoča izvajanje bloka kode samo, če spremenljivka ni null. (A)</p> Signup and view all the answers

Kaj je IntelliJ IDEA?

<p>Vodilni IDE za Javo</p> Signup and view all the answers

Ali IntelliJ IDEA podpira verzioniranje s sistemom Git?

<p>True (A)</p> Signup and view all the answers

Katera kombinacija tipk v IntelliJ IDEA se uporablja za ponovno oblikovanje (reformatiranje) kode?

<p>Ctrl + Alt + L (A)</p> Signup and view all the answers

Ključna beseda ______ se uporablja za deklaracijo enovrstične funkcije, pri čemer se tip vrnitve lahko izpusti, ob predpostavki, da ga je mogoče razbrati.

<p>fun</p> Signup and view all the answers

Ali je možno, da Kotlin koda ne povzroči NullPointerException, tudi če eksplicitno ne uporabljamo null-safe operatorjev?

<p>False (B)</p> Signup and view all the answers

Katero funkcijo uporabimo v Kotlinu za ustvarjanje novega seznama?

<p>mutableListOf() (C)</p> Signup and view all the answers

Kako v Kotlinu ustvarimo nespremenljivo spremenljivko?

<p>S ključno besedo <code>val</code>.</p> Signup and view all the answers

V Kotlinu lahko razred implementira več vmesnikov hkrati.

<p>True (A)</p> Signup and view all the answers

Kateri tip zanke je značilen za Kotlin in omogoča iteracijo skozi elemente zbirke?

<p>for (D)</p> Signup and view all the answers

Flashcards

Kaj je Kotlin?

Kotlin je statično tipiziran programski jezik, ki ga je razvil JetBrains.

val in var?

S ključnima besedama val (nespremenljiva) in var (spremenljiva) se deklarirajo spremenljivke.

Funkcijsko programiranje v Kotlinu

Kotlin omogoča funkcijsko programiranje, vključno s funkcijami višjega reda.

Podatkovni razredi

Kotlin podpira ustvarjanje podatkovnih razredov z uporabo ključne besede data class.

Signup and view all the flashcards

Osnovni tipi v Kotlinu

Osnovni tipi v Kotlinu: Boolean, Characters, Number in Arrays.

Signup and view all the flashcards

Številski tipi v Kotlinu

Številski tipi v Kotlinu vključujejo Byte, Short, Int, Long, Float in Double.

Signup and view all the flashcards

Referenčni tipi

Referenčni tipi v Kotlinu predstavljajo objekte in vključujejo razrede, vmesnike in nize.

Signup and view all the flashcards

Izraz when

Kotlin omogoča uporabo when kot izraz, podoben stikala v drugih jezikih.

Signup and view all the flashcards

Iterativne zanke

Kotlin omogoča uporabo zank for, while in do-while za iteracijo.

Signup and view all the flashcards

Identifikatorji

Identifikatorji so občutljivi na velike in male črke in se morajo začeti s črko ali podčrtajem.

Signup and view all the flashcards

Rezervirane besede

Rezervirane besede imajo poseben pomen v jeziku in jih ne moremo uporabiti kot identifikatorje.

Signup and view all the flashcards

Formalni parametri in argumenti

Formalni parameter je identifikator v deklaraciji metode, argument pa je vrednost, ki se prenese metodi.

Signup and view all the flashcards

Dedovanje v Kotlinu

Razredni objektno usmerjen jezik podpira dedovanje, enkratno dedovanje in asimetrični zaključek metode.

Signup and view all the flashcards

Vmesnik (interface)

Vmesnik (interface) je pogodba, ki jo razred implementira in se zaveže, da bo implementiral določeno obnašanje.

Signup and view all the flashcards

Konstruktor

Konstruktor omogoča inicializacijo lastnosti razreda ob ustvarjanju objekta.

Signup and view all the flashcards

Razredi final in open

Razredi so final, kar pomeni, da jih ne moremo podedovati, razen če jih označimo z open.

Signup and view all the flashcards

Privzete vrednosti

Spremenljivkam lahko nastavimo privzete vrednosti v konstruktorjih in funkcijah.

Signup and view all the flashcards

Primarni konstruktor

Primarni konstruktor je del glave razreda in se uporablja za inicializacijo lastnosti.

Signup and view all the flashcards

Sekundarni konstruktorji

Sekundarni konstruktorji so manj pogosti in se uporabljajo za dodatno logiko inicializacije.

Signup and view all the flashcards

Vidnost v razredih

Z private, public, protected in internal določamo dostopnost razredov, funkcij in lastnosti.

Signup and view all the flashcards

get in set metode

V Kotlinu lahko ustvarimo metode za get in set za boljši nadzor nad dostopom do lastnosti razreda.

Signup and view all the flashcards

Inicializacija spremenljivk

Kotlin ne zahteva inicializacije lokalnih spremenljivk, vendar jih moramo inicializirati, preden jih uporabimo.

Signup and view all the flashcards

Study Notes

  • Predavanje obravnava programski jezik Kotlin

Uvod v Kotlin

  • Kotlin je bil razvit leta 2011 s strani podjetja JetBrains, znanih po orodjih, kot so PhpStorm, ReSharper in PyCharm.
  • Je multiplatformni jezik, ki deluje na Androidu, JVM, iOS, Windows, Linux, JavaScript, WebAssembly in LLVM.
  • Razširitve datotek v Kotlinu so .kt, .kts in .ktm.
  • Podpira več paradigem programiranja, vključno z objektno-usmerjenim, funkcijskim, imperativnim, deklarativnim, generičnim in sočasnim programiranjem.
  • Ime je dobil po otoku blizu St. Petersburg.
  • Gre za statično tipiziran jezik, ki odpravlja nekatere pomanjkljivosti Jave.
  • Prevede se v byte kodo JVM, JavaScript in Kotlin native.
  • Zasnovan je s poudarkom na interoperabilnosti z Javo, kar omogoča skupno uporabo razredov Kotlin in Java v projektu.
  • IntelliJ Idea(IDE) ima zelo dobro podporo JetBrains za Kotlin.
  • Od leta 2019 ga Google priporoča za razvoj mobilnih aplikacij za Android.

Značilnosti Kotlina

  • Ključne besede: val (za nespremenljive spremenljivke) in var (za spremenljive spremenljivke).
  • Podpira poimenovane parametre funkcij in vračanje več vrednosti iz funkcij.
  • Podpičja niso obvezna.
  • Zagotavlja varnost izvedbe kode z omejevanjem NullPointerException.
  • Omogoča uporabo if, try-catch in when stavkov.
  • Podpira inline funkcije in razširitvene funkcije.
  • Koncepti funkcijskega programiranja, vključno s funkcijami višjega reda.
  • Podpira pametno pretvarjanje tipov (casting).
  • Podpira asinhrono programiranje z async / await.
  • Podatkovni razredi, ki poenostavljajo ustvarjanje razredov za shranjevanje podatkov.
  • Lastnosti, podobne tistim v C#.
  • Ne preverja izjem(ni preverjenih izjem).
  • Prekrivanje operatorjev.

Tipi v Kotlinu

  • Osnovni tipi: Boolean, Characters, Number, Arrays.
  • Številski tipi: Byte, Short, Int, Long, Float, Double.
  • Referenčni tipi: razredi, vmesniki in String.
  • Poseben tip: Nothing.

Številski tipi

  • Byte: 8 bitov, obseg od -128 do 127.
  • Short: 16 bitov, obseg od -32768 do 32767.
  • Int: 32 bitov, obseg od -2,147,483,648 do 2,147,483,647.
  • Long: 64 bitov, obseg od -9,223,372,036,854,775,808 do 9,223,372,036,854,775,807.
  • Float: 32 bitov, 24 bitov signifikantnih, 8 bitov eksponenta, 6-7 decimalnih mest natančnosti.
  • Double: 64 bitov, 53 bitov signifikantnih, 11 bitov eksponenta, 15-16 decimalnih mest natančnosti.
  • Obstajajo tudi nepredznačeni številski tipi: UByte, UShort, UInt, ULong.

Char, Boolean, String

  • Char:
    • Znakovni tip.
    • Uporablja enojne narekovaje.
    • Podpira izhodne sekvence, kot so \t, \b, \n, \r, \', \", \\, \$, \uFF00.
    • Podpira 16-bit Unicode znake od \u0000 do \uffff.
  • Boolean:
    • Podpira operacije ||, &&, !.
  • String:
    • Uporablja dvojne narekovaje.
    • Dostop do posameznih znakov je mogoč z uporabo indeksa (npr. name[0]).

Polja

  • Polja so predstavljena z razredom Array.
  • Za dostop do elementov se uporablja prekriti operator [].
  • Polja se lahko ustvarijo s funkcijo arrayOf(...) ali s konstruktorjem Array(...).

Statično tipiziranje

  • Kotlin je statično tipiziran jezik, kar pomeni, da se tipi spremenljivk preverijo ob času prevajanja.
  • Statično tipizirani jeziki omogočajo izogibanje številnim programskih napakam in zagotavljajo večjo hitrost izvajanja kode zaradi optimizacije.

Izrazi

  • Poznamo literale(Decimalni, binarni,...), Agregate in funkcijski klic
  • Agregati se klicajo z: intArray.forEach { println(it) }

Ukazi

  • If ukaz omogoča da pogojni ukaz vrača vrednost.
  • while in do while ukazi
  • Zanka for se uporablja za določene iteracije

Deklaracije

  • Spremenljivke, konstante, metode, razredi in vmesniki se lahko deklarirajo
  • Doseg spremenljivk je statičen.

Identifikatorji

  • Občutljivi na velike in male črke
  • Unicode
  • Ne smejo se začeti s presledkov, posebnimi znaki, številko

Rezervirane besede

  • Poznamo mehke in trde

Formalni parametri in argumenti

  • Argument je vrednost ki se prenese v metodo, ko je metoda klicana.
  • Lahko so poljubnega tipa
  • Lahko se pošlje metodo kot parameter v metodo

Objektno-usmerjeni del Kotlina

  • Kotlin je razredni objektno usmerjen jezik.
  • Dedovanje v Kotlinu je enkratno, z nasledniškim iskanjem metode in asimetričnim zaključkom.
  • Korenski razred je Any oz. Any?.
  • Podrazred podeduje vse komponente nadrazreda, razen konstruktorjev.

Razredi in vmesniki

  • Vmesnik je pogodba med razredom in svetom ki to določa

Razredi

  • Konstruktor omogoča inicializacijo lastnosti razreda.
  • Kotlin pozna primarni in sekundarni konstruktor.
  • Primarni konstruktor je del glave razreda.

Privzete vrednosti

  • Parametri konstruktorja in parametri funkcij imajo lahko privzete vrednosti

Primarni konstruktor in inicializacijski blok

  • Za inicializacijo lahko uporabimo "init"

Sekundarni konstruktorji in dedovanje

  • Uporaba sekundarnih konstrutorjev ni priporočena
  • Za njih se uporabi rezervirana beseda "constructor"
  • Za dostopanje konstruktorjev klicemo nadrazred z "super()" ali this()

Vidnost v razredih

  • Določimo vidnost lastnostih in funkcijah
  • Določila: Private, Public, Proctected, Internal
  • Če ne nastavimo je privzeta nastavljena na Public

Set in Get metode

  • Za razred Point sta ekvivalenta zapisa, in ni potrebe navajanja get in set metod

Privzete vrednosti

  • Za lokalne spremenljivke ni privzetih vrednosti. Poskus uporabe ne inicializirane spremenljivke javi napako.

Dedovanje

  • V kotlinu so vsi razredi "final", kar pomeni da se ne more dodati podrrazreda
  • Za to dodamo "open"

IntelliJ IDEA razvojno okolje

  • IntelliJ IDEA je vodilni IDE za Javo, razvilo ga je podjetje JetBrains.
  • Vključuje podporo za Java, Kotlin, JavaScript, Groovy, Scala in druge jezike.
  • Podpira Git, SVN in Mercurial za nadzor različic.

Razhroščevanje, Preoblikovanje Kode in Verzioniranje

  • IntelliJ IDEA ponuja orodja za razhroščevanje, preoblikovanje kode ter integracijo z Git za verzioniranje.
  • GitHub se uporablja kot oddaljeno skladišče za predavanja, kar omogoča sodelovanje in upravljanje različic kode.
  • V IntelliJ okolju lahko izvajamo tudi "commit" ter "push"

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

More Like This

Discover Kotlin
5 questions

Discover Kotlin

AffableUvarovite avatar
AffableUvarovite
Kotlin Concepts and Compatibility Quiz
5 questions
Kotlin
6 questions

Kotlin

ZippyMossAgate9361 avatar
ZippyMossAgate9361
Overview of Kotlin Programming Language
10 questions
Use Quizgecko on...
Browser
Browser