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. Cluno GmbH, München
  2. BWI GmbH, Nürnberg, München, deutschlandweit

  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
Hardware-Angebote
  1. 58,99€
  2. 199€ + Versand
  3. (reduzierte Überstände, Restposten & Co.)

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
       


Kompaktanlage mit Raspi vernetzt

Wie kann eine uralte Kompaktanlage aus den 90er Jahren noch sinnvoll mit modernen Musik- und Videoquellen vernetzt werden?

Kompaktanlage mit Raspi vernetzt Video aufrufen
Technologie: Warum Roboter in Japan so beliebt sind
Technologie
Warum Roboter in Japan so beliebt sind

Japaner produzieren nicht nur mehr Roboter als jede andere Nation, sie gehen auch selbstverständlicher mit ihnen um. Das liegt an der besonderen Geschichte und Religion des Inselstaats - und an Astro Boy.
Von Miroslav Stimac

  1. Kreativität Roboterdame Ai-Da soll zeichnen und malen
  2. Automatisierung Roboterhotel entlässt Roboter
  3. Cimon Die ISS bekommt einen sensiblen Kommunikationsroboter

Swobbee: Der Wechselakku kommt wieder
Swobbee
Der Wechselakku kommt wieder

Mieten statt kaufen, wechseln statt laden: Das Berliner Startup Swobbee baut eine Infrastruktur mit Lade- und Tauschstationen für Akkus auf. Ein ähnliches Geschäftsmodell ist schon einmal gescheitert. Dieses kann jedoch aufgehen.
Eine Analyse von Werner Pluta

  1. Elektromobilität Seoul will Zweirad-Kraftfahrzeuge und Minibusse austauschen
  2. Rechtsanspruch auf Wallboxen Wohnungswirtschaft warnt vor "Schnellschuss" bei WEG-Reform
  3. Innolith Energy Battery Schweizer Unternehmen entwickelt sehr leistungsfähigen Akku

Echo Wall Clock im Test: Ach du liebe Zeit, Amazon!
Echo Wall Clock im Test
Ach du liebe Zeit, Amazon!

Die Echo Wall Clock hat fast keine Funktionen und die funktionieren auch noch schlecht: Amazons Wanduhr ist schon vielen US-Nutzern auf den Zeiger gegangen - im Test auch uns.
Ein Test von Ingo Pakalski

  1. Amazon Echo Link und Echo Link Amp kommen mit Beschränkungen
  2. Echo Wall Clock Amazon verkauft die Alexa-Wanduhr wieder
  3. Echo Wall Clock Amazon stoppt Verkauf der Alexa-Wanduhr wegen Technikfehler

    •  /