Last active
February 13, 2019 15:10
-
-
Save manishkkatoch/be8ce452d7ec015ec51dcf5fab451d43 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// simple Member class | |
case class Member(id: String, name: String, points: Long) | |
// member types | |
trait MemberType {val member: Member} | |
case class FirstTimer(member: Member) extends MemberType | |
case class FrequentShopper(member: Member) extends MemberType | |
case class Patron(member: Member) extends MemberType | |
// membership card | |
abstract class MembershipCard(member: Member, levelName: String) | |
case class Silver(member: Member) extends MembershipCard(member,"silver") | |
case class Gold(member: Member) extends MembershipCard(member,"gold") | |
case class Platinum(member: Member) extends MembershipCard(member,"platinum") |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment