Free Trial

Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.

  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint
Share this Page URL
Help

Case-Klassen > Die copy-Methode

Die copy-Methode

Seit der Scala-Version 2.8 wird noch eine weitere Instanzmethode automatisch generiert, die copy heißt. Diese Methode ist von Nutzen, wenn Sie eine neue Instanz einer Case-Klasse erstellen wollen, die bis auf wenige veränderte Felder mit einer anderen, bereits existierenden Instanz übereinstimmt. Betrachten Sie das folgende Beispielskript:

// code-examples/AdvOOP/shapes/shapes-usage-example3-v28-script.scala

import shapes._

val circle1 = Circle(Point(0.0, 0.0), 2.0)
val circle2 = circle1 copy (radius = 4.0)

println(circle1)
println(circle2)

Der zweite Kreis wird durch Kopieren des ersten und Angabe eines neuen Radius erzeugt. Die copy-Methode, die der Compiler generiert, nutzt die in Scala 2.8 neu eingeführten benannten Parameter und Default-Parameter, die wir im „Vorbelegte und benannte Argumente“ behandelt haben. Die generierte Implementierung von Circle.copy sieht ungefähr so aus:


  

You are currently reading a PREVIEW of this book.

                                                                                                                    

Get instant access to over $1 million worth of books and videos.

  

Start a Free Trial


  
  • Safari Books Online
  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint