Here is an example for a Notification type hierarchy which consists of an abstract super class Notification and three concrete Notification types implemented with case classes Email, SMS, and VoiceRecording.