December 2015
Intermediate to advanced
298 pages
5h 30m
English
By now you must have guessed that in Scala, things are far simpler. Let's try the following commands with creating an object:
object MovieStrategy extends App { type MoviePref = () => String // 1 abstract class FamilyMember { def name: String def moviePref: MoviePref } case class Mom(name: String, moviePref: MoviePref) extends FamilyMember case class Dad(name: String, moviePref: MoviePref) extends FamilyMember case class Kid(name: String, moviePref: MoviePref) extends FamilyMember def letUsGoForAMovie[T <: FamilyMember](familyMember: T) = { // 2 val mp = s"${familyMember.name} : ${familyMember .moviePref() } " println(mp) } val mom = Mom("Mom", () => "some romantic flick") // 3 val dad = Dad("Dad", () ...
Read now
Unlock full access