Podcast
Questions and Answers
Katero leto se šteje za uradni začetek programskega jezika Kotlin?
Katero leto se šteje za uradni začetek programskega jezika Kotlin?
- 2011 (correct)
- 2013
- 2008
- 2010
Katero podjetje je razvilo programski jezik Kotlin?
Katero podjetje je razvilo programski jezik Kotlin?
- JetBrains (correct)
- Oracle
- Microsoft
Ali se Kotlin prevede izključno v izvorno kodo (native code) brez vmesne stopnje?
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.
Naštejte vsaj tri platforme, na katerih lahko deluje programski jezik Kotlin.
Kateri od naslednjih konceptov NI značilen za Kotlin?
Kateri od naslednjih konceptov NI značilen za Kotlin?
Ključni besedi za deklaracijo spremenljivk v Kotlinu sta ______ in ______.
Ključni besedi za deklaracijo spremenljivk v Kotlinu sta ______ in ______.
Povežite programski jezik Kotlin z njegovimi značilnostmi:
Povežite programski jezik Kotlin z njegovimi značilnostmi:
Podpičja so obvezna na koncu vsake vrstice kode v Kotlinu.
Podpičja so obvezna na koncu vsake vrstice kode v Kotlinu.
Katera izjava pravilno opisuje razširitvene funkcije (extension functions) v Kotlinu?
Katera izjava pravilno opisuje razširitvene funkcije (extension functions) v Kotlinu?
Kaj je glavna prednost uporabe podatkovnih razredov (data classes) v Kotlinu?
Kaj je glavna prednost uporabe podatkovnih razredov (data classes) v Kotlinu?
Ali lahko Kotlin koda neposredno uporablja knjižnice, napisane v C++?
Ali lahko Kotlin koda neposredno uporablja knjižnice, napisane v C++?
Kateri stavek se uporablja za implementacijo pogojnega izraza v Kotlinu?
Kateri stavek se uporablja za implementacijo pogojnega izraza v Kotlinu?
Če želimo zagotoviti, da razred v Kotlinu ne more biti razširjen, ga označimo s ključno besedo ______.
Če želimo zagotoviti, da razred v Kotlinu ne more biti razširjen, ga označimo s ključno besedo ______.
Povežite naslednje tipe podatkov v Kotlinu z njihovo velikostjo v bitih:
Povežite naslednje tipe podatkov v Kotlinu z njihovo velikostjo v bitih:
Ali je mogoče v Kotlinu ustvariti polje (array) različnih tipov podatkov?
Ali je mogoče v Kotlinu ustvariti polje (array) različnih tipov podatkov?
Katera od naštetih možnosti pravilno deklarira polje celih števil v Kotlinu?
Katera od naštetih možnosti pravilno deklarira polje celih števil v Kotlinu?
Kako v Kotlinu preverimo, ali je spremenljivka null-safe?
Kako v Kotlinu preverimo, ali je spremenljivka null-safe?
Ali lahko v Kotlinu definiramo lokalno funkcijo znotraj druge funkcije?
Ali lahko v Kotlinu definiramo lokalno funkcijo znotraj druge funkcije?
Kateri od naštetih operatorjev ima najvišjo prioriteto v Kotlinu?
Kateri od naštetih operatorjev ima najvišjo prioriteto v Kotlinu?
V Kotlinu se razred, ki je namenjen dedovanju, označi s ključno besedo ______.
V Kotlinu se razred, ki je namenjen dedovanju, označi s ključno besedo ______.
Povežite koncepte OO programiranja s Kotlin primeri:
Povežite koncepte OO programiranja s Kotlin primeri:
Ali lahko Kotlin vmesnik (interface) vsebuje implementacijo metod?
Ali lahko Kotlin vmesnik (interface) vsebuje implementacijo metod?
Kako se v Kotlinu deklarira singleton razred?
Kako se v Kotlinu deklarira singleton razred?
Katero ključno besedo uporabimo za ustvarjanje instance razreda v Kotlinu?
Katero ključno besedo uporabimo za ustvarjanje instance razreda v Kotlinu?
Če želimo uporabiti lastnosti (properties) razreda izven tega razreda, morajo biti deklarirane kot private
.
Če želimo uporabiti lastnosti (properties) razreda izven tega razreda, morajo biti deklarirane kot private
.
Kateri od naštetih dosegov (visibility modifiers) v Kotlinu omogoča dostop samo znotraj modula?
Kateri od naštetih dosegov (visibility modifiers) v Kotlinu omogoča dostop samo znotraj modula?
V Kotlinu so vmesniki (interfaces) označeni s ključno besedo ______.
V Kotlinu so vmesniki (interfaces) označeni s ključno besedo ______.
Povežite naslednje koncepte s primeri Kotlin kode:
Povežite naslednje koncepte s primeri Kotlin kode:
Ali je mogoče razširiti razred String
v Kotlinu z novo metodo?
Ali je mogoče razširiti razred String
v Kotlinu z novo metodo?
Katera od naslednjih trditev pravilno opisuje funkcijo let
v Kotlinu?
Katera od naslednjih trditev pravilno opisuje funkcijo let
v Kotlinu?
Kaj je IntelliJ IDEA?
Kaj je IntelliJ IDEA?
Ali IntelliJ IDEA podpira verzioniranje s sistemom Git?
Ali IntelliJ IDEA podpira verzioniranje s sistemom Git?
Katera kombinacija tipk v IntelliJ IDEA se uporablja za ponovno oblikovanje (reformatiranje) kode?
Katera kombinacija tipk v IntelliJ IDEA se uporablja za ponovno oblikovanje (reformatiranje) kode?
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.
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.
Ali je možno, da Kotlin koda ne povzroči NullPointerException, tudi če eksplicitno ne uporabljamo null-safe operatorjev?
Ali je možno, da Kotlin koda ne povzroči NullPointerException, tudi če eksplicitno ne uporabljamo null-safe operatorjev?
Katero funkcijo uporabimo v Kotlinu za ustvarjanje novega seznama?
Katero funkcijo uporabimo v Kotlinu za ustvarjanje novega seznama?
Kako v Kotlinu ustvarimo nespremenljivo spremenljivko?
Kako v Kotlinu ustvarimo nespremenljivo spremenljivko?
V Kotlinu lahko razred implementira več vmesnikov hkrati.
V Kotlinu lahko razred implementira več vmesnikov hkrati.
Kateri tip zanke je značilen za Kotlin in omogoča iteracijo skozi elemente zbirke?
Kateri tip zanke je značilen za Kotlin in omogoča iteracijo skozi elemente zbirke?
Flashcards
Kaj je Kotlin?
Kaj je Kotlin?
Kotlin je statično tipiziran programski jezik, ki ga je razvil JetBrains.
val in var?
val in var?
S ključnima besedama val
(nespremenljiva) in var
(spremenljiva) se deklarirajo spremenljivke.
Funkcijsko programiranje v Kotlinu
Funkcijsko programiranje v Kotlinu
Kotlin omogoča funkcijsko programiranje, vključno s funkcijami višjega reda.
Podatkovni razredi
Podatkovni razredi
Signup and view all the flashcards
Osnovni tipi v Kotlinu
Osnovni tipi v Kotlinu
Signup and view all the flashcards
Številski tipi v Kotlinu
Številski tipi v Kotlinu
Signup and view all the flashcards
Referenčni tipi
Referenčni tipi
Signup and view all the flashcards
Izraz when
Izraz when
Signup and view all the flashcards
Iterativne zanke
Iterativne zanke
Signup and view all the flashcards
Identifikatorji
Identifikatorji
Signup and view all the flashcards
Rezervirane besede
Rezervirane besede
Signup and view all the flashcards
Formalni parametri in argumenti
Formalni parametri in argumenti
Signup and view all the flashcards
Dedovanje v Kotlinu
Dedovanje v Kotlinu
Signup and view all the flashcards
Vmesnik (interface)
Vmesnik (interface)
Signup and view all the flashcards
Konstruktor
Konstruktor
Signup and view all the flashcards
Razredi final in open
Razredi final in open
Signup and view all the flashcards
Privzete vrednosti
Privzete vrednosti
Signup and view all the flashcards
Primarni konstruktor
Primarni konstruktor
Signup and view all the flashcards
Sekundarni konstruktorji
Sekundarni konstruktorji
Signup and view all the flashcards
Vidnost v razredih
Vidnost v razredih
Signup and view all the flashcards
get
in set
metode
get
in set
metode
Signup and view all the flashcards
Inicializacija spremenljivk
Inicializacija spremenljivk
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) invar
(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
||
,&&
,!
.
- 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.