Abo
  • Services:

Generische Programmierung und Vererbung

Bei Listen und ähnlichen Containerklassen steht bei der Erstellung noch nicht fest, welche Objekte sie speichern sollen. In diesen Fällen kann der Entwickler einfach für den Typ einen Platzhalter hinterlegen, in folgendem Beispiel das T:

Stellenmarkt
  1. STABILA Messgeräte Gustav Ullrich GmbH, Annweiler am Trifels
  2. Thorlabs GmbH, Dachau

  1. class Cache<T>(wert: T) {
  2. var inhalt = wert
  3. }
  4. val zahlencache: Cache<Int> = Cache<Int>(35)

Die letzte Zeile erstellt ein Cache-Objekt, das Zahlen speichert. Sofern der Typ eindeutig ist, kann man die Kurzschreibweise val zahlencache = Cache(35) verwenden. Genau wie Java bezeichnet Kotlin dieses Konzept als Generics, unterstützt aber nicht die dort möglichen Wildcards.

Explizite Erbfolge

Eine Klasse kann nur dann von einer Kollegin erben, wenn man Letztere explizit mit open kennzeichnet. Wie an vielen anderen Stellen auch, folgen die Kotlin-Macher damit den Designvorschlägen des Buchs Effective Java:

  1. open class Punkt(var x: Int, var y: Int)
  2. class Quadrat(x: Int, y: Int, var w: Int) : Punkt (x,y)

Analog lässt sich eine Funktion nur dann überschreiben, wenn man ihr das Schlüsselwort open voranstellt und die überschreibende Funktion explizit mit override kennzeichnet. Durch das Schlüsselwort final lässt sich eine Funktion in weiteren Unterklassen nicht mehr überschreiben:

  1. open class Punkt {
  2. open fun zeichne() {}
  3. }
  4. class Kreis() : Punkt() {
  5. final override fun zeichne() {}
  6. }

Mehrfachvererbung

Kotlin erlaubt auch Mehrfachvererbung, im Gegenzug fehlen statische Methoden. Eine Klasse lässt sich allerdings jederzeit um weitere Properties und Funktionen ergänzen (Extensions). In folgendem Beispiel erhält Quadrat nachträglich eine Methode verschieben() und ein Property farbe:

  1. fun Quadrat.verschieben(a: Int, b: Int) {
  2. this.x=this.x+a
  3. this.y=this.y+b
  4. }
  5. val Quadrat.farbe: String
  6. get() = this.toUpperCase()
  7.  
  8. val q = Quadrat(1,2,3)
  9. q.verschieben(4,5)

 Klassen mit zwei Konstruktoren und PropertiesSchnittstellen sind auch nur Klassen 
  1.  
  2. 1
  3. 2
  4. 3
  5. 4
  6. 5
  7. 6
  8.  


Anzeige
Top-Angebote
  1. (heute u. a. NZXT N7 Z370 Matte Black Mainboard für 237,90€ + Versand statt 272,90€ im...
  2. 263,99€
  3. 44,98€ + USK-18-Versand
  4. (u. a. John Wick, Sicario, Deepwater Horizon, Die große Asterix Edition, Die Tribute von Panem)

Proctrap 29. Okt 2017

immer diese Threadschändung

MiBx 18. Okt 2017

Das ist schon ganz gut so, dass Du zurück gewechselt bist, wenn Du Dich nicht wirklich...

Proctrap 17. Okt 2017

kwt

horotab 05. Okt 2017

Wer Methoden schreibt, die so lang sind, mach idR sowieso etwas falsch. Im Idealfall hat...

demonkoryu 04. Okt 2017

Closures sind nicht "hip" sondern eine nützliche Abstraktion, die in den letzten Jahren...


Folgen Sie uns
       


Fazit zu Shadow of the Tomb Raider

Wir tauchen mit Lara in der Apokalypse ab und verfassen unser Fazit.

Fazit zu Shadow of the Tomb Raider Video aufrufen
Mobile-Games-Auslese: Bezahlbare Drachen und dicke Bären
Mobile-Games-Auslese
Bezahlbare Drachen und dicke Bären

Rundenbasierte Strategie auf dem Smartphone mit Chaos Reborn Adventure Fantasy von Nintendo in Dragalia Lost - und dicke Alpha-Bären: Die Mobile Games des Monats bieten spannende Unterhaltung für jeden Geschmack.
Von Rainer Sigl

  1. Mobile-Games-Auslese Städtebau und Lebenssimulation für unterwegs
  2. Mobile-Games-Auslese Barbaren und andere knuddelige Fantasyhelden
  3. Seismic Games Niantic kauft Entwickler von Marvel Strike Force

HP Elitebook 840 und Toshiba Tecra X40: Es kann nur eines geben
HP Elitebook 840 und Toshiba Tecra X40
Es kann nur eines geben

Nicht nur Lenovo baut gute Business-Notebooks, auch HP und Toshiba haben Produkte, die vergleichbar sind. Wir stellen je ein Modell der beiden Hersteller mit ähnlicher Hardware gegenüber: das eine leichter, das andere mit überlegenem Akku - ein knapper Gewinner nach Punkten.
Ein Test von Oliver Nickel

  1. Portégé X20W-D-145 Toshiba stellt alte Hardware im flexiblen Chassis vor
  2. Tecra X40-E-10W Toshibas 14-Zoll-Thinkpad-Pendant kommt mit LTE
  3. Dell, HP, Lenovo AMDs Ryzen Pro Mobile landet in allen Business-Notebooks

Kaufberatung: Der richtige smarte Lautsprecher
Kaufberatung
Der richtige smarte Lautsprecher

Der Markt für smarte Lautsprecher wird immer größer. Bei der Entscheidung für ein Gerät sind Kaufpreis und Klang wichtig, ebenso die Wahl für einen digitalen Assistenten: Alexa, Google Assistant oder Siri? Wir geben eine Übersicht.
Von Ingo Pakalski

  1. Amazon Alexa Echo Sub verhilft Echo-Lautsprechern zu mehr Bass
  2. Beosound 2 Bang & Olufsen bringt smarten Lautsprecher für 2.000 Euro
  3. Google und Amazon Markt für smarte Lautsprecher wächst weiter stark

    •  /