Sobes.tech
Middle

Rääkige mulle Flutteri konstantsetest konstruktoritest.

sobes.tech AI

Vastus AI-lt

Konstant konstruktoris võimaldab luua objekti, mida kompilaator saab arvutada kompileerimise ajal ja taaskasutada. See parandab jõudlust ja vähendab mäe kasutust.

Peamised omadused:

  • Märgitud võtmesõnaga const.
  • Kõik klassi väljad, mis määratletud sellega, peavad olema final.
  • Kõik konstruktorargumendid peavad olema konstantsed või omama vaikimisi konstantsed väärtused.
  • Eksemplari loomisel selle konstruktoriga kasutatakse võtmesõna const.

Näide:

class Point {
  final double x;
  final double y;

  const Point(this.x, this.y); // Konstantne konstruktor
}

void main() {
  // Need kaks objekti esindavad sama eksemplari mälus
  const p1 = Point(1.0, 2.0);
  const p2 = Point(1.0, 2.0);

  // See objekt on uus eksemplar
  final p3 = Point(1.0, 2.0);

  print(identical(p1, p2)); // Väljund: true
  print(identical(p1, p3)); // Väljund: false
}

const konstruktorite kasutamise eelised:

  • Jõudlus: Objekte luuakse ainult üks kord ja neid taaskasutatakse.
  • Mälu kasutamise vähendamine: Väheneb loodavate objektide arv.
  • Muutumatud: const konstruktoriga loodud objektid on muutumatud.

Piirangud:

  • Klass ei tohi omada tehaste konstruktorit (factory).
  • Klass ei tohi sisaldada muutuvaid välju.

Konstantseid konstruktorid kasutatakse sageli muutumatute Flutter vidinate, nagu Text, Icon, Padding, SizedBox, loomiseks, mis on hea tava jõudluse optimeerimiseks kasutajaliideses.