Sobes.tech
Middle

дар бораи сохтмонҳои доимӣ дар Flutter гап занед.

sobes.tech AI

Ҷавоб аз AI

Констант конструкция имконият медиҳад, ки объекте эҷод шавад, ки компилятор метавонад дар вақти компиляция ҳисоб кунад ва такрор истифода барад. Ин ба иҷрои беҳтар ва кам кардани истифодаи хотира кӯмак мекунад.

Хусусиятҳои асосӣ:

  • Бо калидвожа const ишора шудааст.
  • Ҳама майдонҳои синф, ки бо ин конструксия муайян карда шудаанд, бояд final бошанд.
  • Ҳама аргументҳои конструксия бояд ҳамеша константӣ ё дорои арзишҳои пешфарзии константӣ бошанд.
  • Вақте ки як нусха бо ин конструксия эҷод мешавад, калидвожа const истифода мешавад.

Масалан:

class Point {
  final double x;
  final double y;

  const Point(this.x, this.y); // Констант конструксия
}

void main() {
  // Ин ду объект дар хотира як нусхаи якхела хоҳанд буд
  const p1 = Point(1.0, 2.0);
  const p2 = Point(1.0, 2.0);

  // Ин объект нав нусха хоҳад буд
  final p3 = Point(1.0, 2.0);

  print(identical(p1, p2)); // Мебарояд: true
  print(identical(p1, p3)); // Мебарояд: false
}

Фоидаҳои истифодаи const конструксия:

  • Иҷро: objects танҳо як бор эҷод мешаванд ва такрор истифода мешаванд.
  • Кам кардани истифодаи хотира: шумораи objects кам мешавад.
  • Намояндагӣ: objects, ки бо const сохта шудаанд, тағйирнопазир мебошанд.

Маҳдудиятҳо:

  • Класс набояд дорои конструксияи фабрика (factory) бошад.
  • Класс наметавонад майдонҳои тағйирёбанда дошта бошад.

Конструкторҳои const одатан барои эҷоди widget-ҳои тағйирнопазир дар Flutter истифода мешаванд, масалан, Text, Icon, Padding, SizedBox, ва ин амал дар беҳтар кардани иҷрои интерфейси корбарӣ хуб аст.