Typgrenzen
Wenn man einen parametrisierten Typ oder eine parametrisierte Methode definiert, kann es notwendig sein, Begrenzungen (bounds) für den Typ anzugeben. Beispielsweise kann ein parametrisierter Typ annehmen, dass ein bestimmter Typparameter über bestimmte Methoden verfügt.
Typobergrenzen
Betrachten wir die überladenen apply
-Methoden in object scala.Array
, mit denen man neue Arrays anlegen kann. Dazu gibt es optimierte Implementierungen für alle AnyVal
-Typen. Und es gibt eine weitere Implementierung von apply
, die für jeden Typ parametrisiert ist, der ein Subtyp von AnyRef
ist. Hier suchen Sie die Implementierung in der Scala-Bibliothek:[5]
object
Array
{ ...def
apply
[A <: AnyRef]
(xs:A
*):Array[A]
= {val
array =new
Array
[A]
(xs.length) ...
Get Programmieren mit Scala 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.