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 კონსტრუქტორების გამოყენების უპირატესობები:

  • მოხერხებულობა: ობიექტები შექმნილია მხოლოდ ერთხელ და მეორედ გამოიყენება.
  • მეხსიერების მოხმარების შემცირება: შემცირდა შექმნილი ობიექტების რაოდენობა.
  • არამოყვანილობა: const-ით შექმნილი ობიექტები არამოყვანილია.

შეზღუდვები:

  • კლასი არ უნდა ჰქონდეს ფაბრიკის კონსტრუქტორი (factory).
  • კლასი არ უნდა შეიცავდეს შეცვლად ფარებს.

კონსტანტული კონსტრუქტორები ხშირად გამოიყენება Flutter-ში უცვლელი ვიჯეტების შესაქმნელად, როგორიცაა Text, Icon, Padding, SizedBox, და ეს კარგი პრაქტიკაა მომხმარებლის ინტერფეისის შესრულების ოპტიმიზაციისთვის.