Skip to content

Instantly share code, notes, and snippets.

@dodalovic
Created June 14, 2017 19:38
Show Gist options
  • Save dodalovic/8c3991cd2c7d8ab6cfba272569f8b77c to your computer and use it in GitHub Desktop.
Save dodalovic/8c3991cd2c7d8ab6cfba272569f8b77c to your computer and use it in GitHub Desktop.
Sealed classes kotlin
sealed class Student(val indexNumber: String)
class GraduateStudent(indexNumber: String, val graduationYear: Int) : Student(indexNumber)
class UnderGraduateStudent(indexNumber: String, val currentGrade: Int) : Student(indexNumber)
fun main(args: Array<String>) {
val student: Student = UnderGraduateStudent("123", 3)
when (student) {
is UnderGraduateStudent -> println("UnderGraduateStudent :: indexNumber: ${student.indexNumber} :: current grade : ${student.currentGrade}")
is GraduateStudent -> println("GraduateStudent :: indexNumber: ${student.indexNumber} :: graduation year : $ { student.currentGrade}")
else -> println("unknown")
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment