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. |
Plik CaseClassGreeting.scala:
case class Greeting(greeting: String, name: String) {
def greet = greeting + " " + name + "!" 
