Junior — Middle
Мақсади истифодаи синфи enum дар Kotlin чист ва чӣ гуна аз рӯйхатҳои оддӣ фарқ мекунад?
sobes.tech AI
Ҷавоб аз AI
Дар Kotlin, enum class барои муайян кардани маҷмӯи маҳдуди константҳо истифода мешавад, ки ҳар яке объекти синф аст. Баръакс аз рӯйхатҳои оддӣ дар забонҳои дигар, синфҳои enum дар Kotlin метавонанд хусусиятҳо, усулҳо дошта бошанд ва интерфейсҳоро амалӣ кунанд.
Тафовутҳои асосӣ:
- Ҳар константа намунаи синфи enum аст, метавонад хусусиятҳо ва рафторҳои беназир дошта бошад.
- Конструкторҳо ва усулҳоро метавон илова кард.
- Ҳамоҳангсозии интерфейсҳо дастгирӣ мешавад.
Масалан:
enum class Direction(val degrees: Int) {
NORTH(0),
EAST(90),
SOUTH(180),
WEST(270);
fun description() = "Самт $name бо кунҷи $degrees дараҷа"
}
fun main() {
println(Direction.NORTH.description()) // Самт NORTH бо кунҷи 0 дараҷа
}
Бинобар ин, синфи enum дар Kotlin воситаи қавӣ барои кор бо маҷмӯи константҳои алоқаманд бо логикаи иловагӣ мебошад.