Question | Answer |
Boilercode | In der Programmierung bezeichnet der Begriff boilerplate code Codefragmente, die an vielen Stellen in mehr oder weniger unveränderter Form benötigt werden. Das kommt häufiger vor in Programmiersprachen, die als eher „geschwätzig“ (verbose) gelten, d. h. dem Programmierer auch für geringste Aufgabenstellungen viel Codierarbeit abverlangen. Der Bedarf an Boilerplate-Code kann durch Nutzung von High-Level-Mechanismen wie Metaprogrammierung (wobei das System den benötigten Boilerplate-Code automatisch generiert) und Methodikbausteine wie Konvention vor Konfiguration (wodurch „gute“ Defaultwerte zur Verfügung gestellt werden, so dass viele Implementierungsdetails nicht mehr in jedem Projekt ausdrücklich spezifiziert werden müssen) reduziert werden. |
Kotlin unterschiede zu Java | Reduziert im Gegensatz zu Java unnötige Deklarationen oder Schlüsselwörter Keine Semikolons notwendig!!! Kotlin wurde als eine sichere Programmiersprache designed Umgeht eine Vielzahl an Errors wie auch NULL POINTER EXCEPTIONS Automatisches Casten von Variablen wenn die Typen gecheckt werden Kann mit Java Code oder anderen Sprachen die auf JVM basieren gemixt werden Kann auf der JVM und im Webbrowser gestartet werden wenn es in Javascript kompiliert wird Es gibt da jedoch bestimmte Ausnahmen |
Definition von Klassen | Klassen und Interface Namen sollten mit einem Großbuchstaben wie in Java starten Variablen und Funktionen wie gewohnt auch mit Kleinbuchstaben Klassen werden ohne new instanziiert |
Konstanten | Im Code in einem speziellen Abschnitt In einem Companion Objekt deklariert Empfehlung! Aber trotzdem so deklarieren um Kompatibilität mit anderen Sprachen zu behalten Camel Case Mehrere Wörter mit Unterstrich getrennt |
Eigene Zugriffsoperationen für Eigenschaftsfelder | [,] indizierter Zugriffsoperator, übersetzt in Aufrufe von get und set a[i] entspricht a.get(i) a[i]=b entspricht a.set(i,b) |
val | Unveränderlich(immutable) Wenn gesetzt dann kann diese nicht mehr geändert werden |
var | Veränderlich(mutable) Kann nach dem setzen auch wieder überschrieben werden |
Typinferenz | Auch Typableitung In Kotlin kann auf die Typ angabe verzichtet werden Hinter der Variable kann trotzdem ein Typ definiert werden: var num1:Int = 45 |
foreach | persons.forEach {println (i)} persons.forEach {it.age++} persons.forEach {println(it)} it entspricht this = aktuelles Objekt/Kontext |
map | val volljaehrige = persons.filter {it.age >= 18}.map {it -> it.vorname} map ordnet zu |
when | Ersetzt Switch deutlich kürzer val capital:String? when (state) { "CA", "OR", "WA" -> println("West Coast") "NH", "VT", "MA" -> println("New England") else -> println("Somewhere else") } |
Nullability | Es gibt Klassen in Kotlin die Null Pointer Exceptions umgehen (Hier nochmal weiter nachforschen) But in Kotlin, there are a number of ways to handle null values, that pretty much eliminate the null pointer exception. For this reason, Kotlin is said to be a null-safe language. When you declare a variable in Kotlin, it's assumed to be non-nullable. I'll declare a variable named null value, and give it a type of a string, and then I'll say, print line null value. Now, that causes a syntax error, because the compiler says you have to assign that value. Beispiel: Fragezeichen sagen in Kotlin aus das die Variable auch null sein kann. die Länge und ähnliche Funktionen können dann ohne eine Exception ausgeführt werden. deswegen nennt man Kotlin auch eine Null-Safe Programmiersprache |
Function Extensions | bestehende Klassen können ohne Vererbung ergänzt werden fun String.getFirst():Char=this.get(0) Die Klasse String wird um die Funktion getFirst erweitert |
Überladen arithmetischer Operatoren | Hier nicht ganz sicher: Überladen bedeutet das man einen normalen Operator mit einer eigenen Funktion funktion belegen kann |
Lamda-Ausdrücke | Lambdas Ausdrücke sind im Wesentlichen anonyme Funktionen, die wir als Werte behandeln können - wir können sie beispielsweise als Argumente an Methoden übergeben, zurückgeben oder alles andere tun, was wir mit einem normalen Objekt tun könnten |
Want to create your own Flashcards for free with GoConqr? Learn more.