Middle
Dart'ta sabit yapıcılar ne yapmayı sağlar?
sobes.tech yapay zeka
AI'dan gelen yanıt
Dart'ta sabit yapıcılar, derleme zamanında sabit olan nesneler oluşturmanıza olanak tanır. Bu, nesnenin değerinin derleme sırasında bilindiği anlamına gelir, yalnızca çalışma zamanında değil.
Sabit yapıcıların kullanmanın avantajları:
- Performans: Sabit yapıcılarla oluşturulan nesneler derleyici tarafından önbelleğe alınır. Aynı sabit nesnelerden birkaç tane oluşturulursa, aslında bellekte aynı örneğe referans verirler, bu da yeni nesnelerin oluşturulma maliyetlerini azaltır ve bellek kullanımını düşürür.
- Verimlilik: Derleme sırasında kodu optimize etmeye olanak tanır.
- Sabit ifadelerde kullanım: Sabit yapıcıyla oluşturulan nesneler, örneğin
constbildirimlerinde, diğer sabit ifadelerde kullanılabilir.
Sabit yapıcı kullanmak için koşullar:
- Sınıfın tüm alanları final olmalıdır.
- Yapıcı gövdesi boş olmalı veya yalnızca üst sınıf yapıcı çağrısı (
super()) içermelidir. - Yapıcı
constanahtar kelimesiyle işaretlenmiş olmalıdır.
Örnek:
class Point {
final double x;
final double y;
// Sabit yapıcı
const Point(this.x, this.y);
}
void main() {
// Sabit nesnelerin oluşturulması
const Point p1 = Point(0.0, 0.0);
const Point p2 = Point(0.0, 0.0);
// p1 ve p2 aynı nesneye işaret eder
print(p1 == p2); // true yazdırır
}