Jérôme Gully
01/10/2020, 9:53 AMsealed class NotificationData(val contactDisplayName: String) {
class Message(contactDisplayName: String, val contentMessage: String) : NotificationData(contactDisplayName)
class Join(contactDisplayName: String) : NotificationData(contactDisplayName)
class File(contactDisplayName: String) : NotificationData(contactDisplayName)
class Audio(contactDisplayName: String) : NotificationData(contactDisplayName)
}
Is there a better way to initialize the contactDisplayName
property ?
contactDisplayName
is defined in the base class and each child class "override" itMatteo Mirk
01/10/2020, 11:03 AMsealed class NotificationData {
class Message(val contactDisplayName: String, val contentMessage: String) : NotificationData()
class Join(val contactDisplayName: String) : NotificationData()
class File(val contactDisplayName: String) : NotificationData()
class Audio(val contactDisplayName: String) : NotificationData()
}
this way you can have a subclass without that property, if you want to.
Otherwise there’s no good alternative to your original code, I suppose.Jérôme Gully
01/10/2020, 12:46 PMcontactDisplayName
from base class, to avoid boilderplate code 😄