Sobes.tech
Junior — Middle

Kokia yra enum class naudojimo Kotlin'e priežastis ir kuo jis skiriasi nuo įprastų išvardijimų?

sobes.tech AI

Atsakymas iš AI

Kotlin'e enum class naudojamas apibrėžti ribotą konstantų rinkinį, iš kurių kiekviena yra klasės objektas. Skirtingai nuo įprastų sąrašų kituose kalbose, Kotlin enum klasės gali turėti savybes, metodus ir įgyvendinti sąsajas.

Pagrindiniai skirtumai:

  • Kiekviena konstanta yra enum klasės egzempliorius, galintis turėti unikalių savybių ir elgesio.
  • Gali būti pridėti konstruktoriai ir metodai.
  • Palaikomas sąsajų paveldėjimas.

Pavyzdys:

enum class Direction(val degrees: Int) {
    NORTH(0),
    EAST(90),
    SOUTH(180),
    WEST(270);

    fun description() = "Kryptis $name su kampu $degrees laipsnių"
}

fun main() {
    println(Direction.NORTH.description()) // Kryptis NORTH su kampu 0 laipsnių
}

Taigi, Kotlin enum klasė yra galingas įrankis dirbti su susijusiu konstantų rinkiniu su papildoma logika.