Kapitel 13. Die Scala-Typenhierarchie
Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com
Wir haben bereits viele der in der Scala-Bibliothek verfügbaren Typen kennengelernt. Jetzt geht es um die Details der Typenhierarchie. In Kapitel 14 werden wir die Sammlungen besprechen. Abbildung 13-1 zeigt die große Struktur der Hierarchie für Scala-Typen.
An der Wurzel der Typenhierarchie steht Any
. Er hat keine Supertypen und vier Subtypen:
-
Matchable
, der Supertyp aller Typen, die Mustervergleiche unterstützen, was wir in "Sicherer Mustervergleich mit Matchable" besprochen haben .Matchable
ist auch ein Supertyp vonAnyVal
undAnyRef
. -
AnyVal
ist der Supertyp von Werttypen und Wertklassen. -
AnyRef
der Supertyp aller Referenztypen. -
Universelle Eigenschaften, die wir in "Werteklassen" besprochen haben .
AnyVal
hat neun konkrete Untertypen, die sogenannten Werttypen. Sie erfordern keine Heap-Zuweisung von Instanzen. Sieben von ihnen sind numerische Wertetypen:Byte
,Char
,Short
,Int
,Long
,Float
, undDouble
Die beiden anderen sind nicht numerisch:Unit
undBoolean
.
Werteklassen erweitern auch AnyVal
(siehe "Werteklassen").
Im Gegensatz dazu sind alle anderen Typen Referenztypen, da ihre Instanzen auf dem Heap alloziert und per Referenz verwaltet werden. Sie sind Untertypen ...
Get Scala programmieren, 3. Auflage now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.