15.1. Definiowanie klas przypadku

Język Scala pozwala definiować specjalny rodzaj klas — tak zwane klasy przypadku. W celu zdefiniowania klasy jako klasy przypadku, poprzedzamy słowo kluczowe class w jej definicji słowem kluczowym case. Parametry znajdujące się na pierwszej liście parametrów w definicji klasy przypadku są nazywane jej elementami. Jeśli nie są poprzedzone żadnym słowem kluczowym, to są traktowane tak, jakby zostały poprzedzone słowem kluczowym val. Plik CaseClassGreeting.scala zawiera definicję klasy przypadku o nazwie Greeting.

Plik CaseClassGreeting.scala:
case class Greeting(greeting: String, name: String) {
  def greet = greeting + " " + name + "!" 
}

Po utworzeniu instancji klasy Greeting można się odwoływać do elementów instancji, a także do zdefiniowanej w wierszu składowej greet.

scala> val a = new Greeting("Hello","Peter")
a: Greeting = Greeting(Hello,Peter)

scala> a.greet
res0: String = Hello Peter!

scala> a.greeting
res1: String = Hello

scala> a.name
res2: String = Peter

Specyfikacja języka Scala opisuje klasy przypadku w punkcie 5.3.2.

Język programowania Scala Wydanie 2. Copyright © Grzegorz Balcerek 2016

Licencja Creative Commons

Ten utwór jest dostępny na licencji Creative Commons Uznanie autorstwa-Na tych samych warunkach 4.0 Międzynarodowe.

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.