Middle
Dartта туруктуу куруучулар эмне кылууга мүмкүндүк берет?
sobes.tech AI
AIден жооп
Dart'ta daimi konstruktorlar, obyektтерди түзүү үчүн мүмкүндүк берет, алар тузулуу убактысында даими деп эсептелет. Бул, объекттин баалуулугу түзүү убактысында белгилүү экенин билдирет, гана ишке киргизүү убактысында эмес.
Дайымдуу конструкторлорду колдонуунун артыкчылыктары:
- Өндүрүмдүүлүк: Дайымдуу конструкторлор менен түзүлгөн объекттер компилятор тарабынан кэшке алынып, бирдей дайымдуу объекттер көп болсо, алар чын эле эс тутумда бир эле экземплярга шилтеме кылышат, бул жаңы объекттерди түзүү чыгымдарын азайтат жана эс тутумду азайтат.
- Иштөө натыйжалуулугу: Кодду түзүү учурунда оптималдаштырууга мүмкүндүк берет.
- Дайымдуу билдирүүлөрдө колдонуу: Дайымдуу конструктор менен түзүлгөн объекттер башка дайымдуу билдирүүлөрдө, мисалы,
constдекларацияларында колдонулушу мүмкүн.
Дайымдуу конструкторду колдонуу шарттары:
- Бардык класстын талаалары final болушу керек.
- Конструктордун денеси бош же тек гана ата-klass конструкторуна чакыруу (
super()) камтышы керек. - Конструктор
constачкычы менен белгилениши керек.
Мисал:
class Point {
final double x;
final double y;
// Дайымдуу конструктор
const Point(this.x, this.y);
}
void main() {
// Дайымдуу объекттерди түзүү
const Point p1 = Point(0.0, 0.0);
const Point p2 = Point(0.0, 0.0);
// p1 жана p2 эс тутумда бир эле объектке шилтеме кылат
print(p1 == p2); // true чыгарат
}