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 талаа өзгөртүлбөйт