Default and parameterized constructors
The primary constructor for any class defined in Scala is the body itself. It means that whatever you declare and define inside a class body gets instantiated when you make an instance of it. There are other ways to define secondary/auxiliary constructors as well. Take a look at the following case
classes:
import java.time.LocalDate case class Employee(name: String, id: String, contact: String, email: String) case class StartUp(name: String, founder: Employee, coFounders: Option[Set[Employee]], members: Option[List[Employee]], foundingDate: Option[LocalDate])
We can see two case
classes named Employee
and StartUp
. You may wonder why Employee
is specific to our StartUp
class. The StartUp
case class takes a few attributes such as founder
, coFounder
, members
, and foundingDate
. So, for creating instances of these case
classes, we have to provide values for each member. In this case, if someone on the client side wants to use this case
class and does not...