Sobes.tech
Junior

Kuras mainīgās var tikt izmantotas datu klasē (data class)?

sobes.tech AI

Atbilde no AI

Datu klases var izmantot:

  • val (tikai lasāma īpašība): Īpašība tiek inicializēta, izveidojot objektu, un vēlāk to nevar mainīt. Tā ir daļa no automātiski ģenerētajām metodēm (equals(), hashCode(), toString(), copy).
  • var (maināma īpašība): Īpašība var tikt mainīta pēc objekta izveides. Tā arī ir daļa no ģenerētajām metodēm.
  • Īpašības, kas deklarētas klases ķermenī: Šīs īpašības nav daļa no galvenajām datu klases īpašībām un nepiedalās standarta metožu ģenerēšanā.

Piemērs:

data class User(
    val id: Int, // tikai lasīšanai, galveno īpašību daļa
    var name: String, // maināma, galveno īpašību daļa
    val creationTime: Long = System.currentTimeMillis() // tikai lasīšanai, ar noklusējuma vērtību, galveno īpašību daļa
) {
    val isAdmin: Boolean = false // tikai lasīšanai, nav galveno īpašību daļa, netiek iekļauta `equals()`/`hashCode()`/`toString()`
}