Junior — Middle
Jaki jest cel używania klasy enum w Kotlinie i czym różni się od zwykłych enumeracji?
sobes.tech AI
Odpowiedź od AI
W Kotlinie enum class służy do definiowania ograniczonego zestawu stałych, z których każda jest obiektem klasy. W przeciwieństwie do zwykłych enumeracji w innych językach, klasy enum w Kotlinie mogą zawierać właściwości, metody i implementować interfejsy.
Główne różnice:
- Każda stała jest instancją klasy enum, można przypisywać unikalne właściwości i zachowania.
- Można dodawać konstruktory i metody.
- Obsługiwane jest dziedziczenie interfejsów.
Przykład:
enum class Direction(val degrees: Int) {
NORTH(0),
EAST(90),
SOUTH(180),
WEST(270);
fun description() = "Kierunek $name z kątem $degrees stopni"
}
fun main() {
println(Direction.NORTH.description()) // Kierunek NORTH z kątem 0 stopni
}
W związku z tym, klasa enum w Kotlinie jest potężnym narzędziem do pracy z zestawem powiązanych stałych z dodatkowymi funkcjami.