Sobes.tech
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 чыгарат
}