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, და ეს კარგი პრაქტიკაა მომხმარებლის ინტერფეისის შესრულების ოპტიმიზაციისთვის.