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, ва ин амал дар беҳтар кардани иҷрои интерфейси корбарӣ хуб аст.