Sobes.tech
Junior

Иммутабельдүү объекттер деген эмне?

sobes.tech AI

AIден жооп

Өзгөртүлбөгөн объекттер — бул, алардын абалы түзүлгөндөн кийин өзгөртүлбөйт. Мындай объектке жасалган ар кандай операция, чындыгында, өзгөртүлгөн абал менен жаңы объект түзөт.

Артыкчылыктары:

  • Болжолдоого болоттуулук: Объекттин абалы күтүлбөгөн жерден өзгөрбөйт.
  • Жиптер аралык коопсуздук: Төртүнчү жиптен кирүүдө блоктоо керек эмес, анткени абал өзгөртүлбөйт.
  • Дагы оңой ката табуу: Ишке киргизүү учурунда объекттин абалын көзөмөлдөө оңой.
  • Оптималдаштыруулар: Кээ бир операциялар кэшке сакталат, анткени натыйжа өзгөрбөйт.

Dart/Flutter мисалдары:

  • Негизги түрлөрү: int, double, bool, String.
  • const ачкыч сөзү менен түзүлгөн класстар (өзгөртүлбөгөн үлгүлөрдү түзүү үчүн, алар өзгөртүлбөйт) же final талаалар менен (инициализациядан кийин өзгөртүлбөгөн үлгүлөрдү түзүү үчүн).
// Өзгөртүлбөгөн String объектисинин мисалы
String name = "Flutter";
// Кийинки операция жаңы сап түзөт, 'name' өзгөртпөйт
name = "Dart"; 

// Final талаалар менен өзгөртүлбөгөн класс мисалы
class Point {
  final int x;
  final int y;

  const Point(this.x, this.y);
}

// Өзгөртүлбөгөн үлгү түзүү
const Point origin = Point(0, 0);
// origin.x = 5; // Компиляция ката - final талаа өзгөртүлбөйт