Junior — Middle
Pouvez-vous énumérer et décrire les constructeurs disponibles pour la classe scellée?
sobes.tech IA
Réponse de l'IA
La classe scellée en Kotlin est une classe qui limite l'héritage : toutes les sous-classes doivent être déclarées dans le même fichier.
En ce qui concerne les constructeurs pour les classes scellées :
- La classe scellée elle-même peut avoir des constructeurs, comme une classe ordinaire.
- Les sous-classes de la classe scellée peuvent avoir leurs propres constructeurs.
- En général, la classe scellée est déclarée comme abstraite, et son constructeur peut être protégé ou public.
Exemple :
sealed class Result {
data class Success(val data: String) : Result()
data class Error(val error: Throwable) : Result()
}
Ici, la classe scellée Result n'a pas de constructeur explicite, mais les sous-classes Success et Error ont leurs propres constructeurs avec paramètres.
Ainsi, la classe scellée elle-même peut avoir des constructeurs, mais ce sont généralement les constructeurs de ses héritiers qui sont importants, car ils définissent les variantes spécifiques.