Sobes.tech
Junior — Middle

Фарқи байни класи маълумот ва класи стандартӣ дар забони барномасозӣ чист?

sobes.tech AI

Ҷавоб аз AI

Дар забони Kotlin (Android), class data (класи маълумот) як синфи махсус мебошад, ки барои нигоҳдории маълумот пешбинӣ шудааст. Ҳарфҳои асосӣ дар муқоиса бо синфи оддӣ дар он аст, ки компилятор автоматӣ чанд методи муфидро барои class data мебарорад:

  • equals() ва hashCode() барои муқоиса кардани объектҳо ба асоси мазмун,
  • toString() бо натиҷаи иттилоотӣ,
  • copy() барои сохтани нусхаҳо бо майдонҳои тағирёфта,
  • компонентҳо (component1(), component2(), ва ғайра) барои деструктуризация.

Синфи оддӣ ин методҳоро дар асоси пешфарз надорад, онҳоро бояд дастӣ нависед агар лозим бошад.

Масалан class data:

data class User(val name: String, val age: Int)

val user1 = User("Alice", 30)
val user2 = user1.copy(age = 31)
println(user1) // User(name=Alice, age=30)

Бинобар ин, class data барои моделҳои маълумот, ки соддагӣ ва муқоисаи дуруст муҳим аст, қулай аст.