Junior
რა მიზნით გამოიყენება კონსტრუქტორები მონაცემთა კლასში და შესაძლებელია თუ არა მათ გარეშე?
sobes.tech AI
პასუხი AI-სგან
Маалыматтар класында, куруучу анын мүнөздөмөлөрүн объект түзүлгөндө баштоо үчүн колдонулат. Ал автоматтык түрдө компилятор тарабынан түзүлөт, негизги куруучу ичинде класстын атынын артында көрсөтүлгөн мүнөздөмөлөргө негизделген.
Аны ачык аныктоо куруучуну болтурбоо жана колдонуу керек, анткени компилятор өзү төмөнкүлөрдү түзөт:
- Негизги куруучу
(val/var мүнөздөмө1: Тип1, val/var мүнөздөмө2: Тип2, ...) equals(),hashCode(),toString()методдоруcopy()методуcomponentN()методдору деструктуризация үчүн
Мисал:
// Автоматтык түзүлгөн куруучу менен маалымат классы
data class User(val name: String, val age: Int)
// Объект түзүү
val user = User("Alice", 30)
Куруучуну кол менен жазуу зарыл эмес, эгер башка логика менен экинчи даражадагы куруучу керек болбосо, анткени анын негизги максаты — маалыматтарды сактоо. Дагы, алдын ала белгиленген мүнөздөмөлөрдү негизги куруучу аркылуу көрсөтсө болот:
// Болжолдуу мүнөздөмөсү бар маалымат классы
data class Product(val id: Int, val name: String, val price: Double = 0.0)
Ошентип, data class ичинде куруучу ар дайым бар, бирок анын аныктамасы көбүнчө компилятор тарабынан алынат.