Junior — Middle
Proqramlaşdırma dilində məlumat növlərinin təyinində dynamic, var və Object istifadəsi arasındakı fərq nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Dart dilində (Flutter-də istifadə olunan) dynamic, var və Object müxtəlif xüsusiyyətlərə malikdir:
var— qeyri-müəyyən tipli dəyişən, tip təyin olunma zamanı müəyyən edilir və sonra sabitləşir. Məsələn:
var x = 10; // x — int
x = 20; // OK
x = 'sətir'; // Tərtib xətası
dynamic— tipinin işləmə zamanı yoxlanıldığı dəyişən, tərtibçi təyin etmə və metod çağırışlarında tipləri yoxlamır:
dynamic y = 10;
y = 'sətir'; // OK
print(y.length); // Yalnız işləmə zamanı səhv baş verər, əgər length mövcud deyilsə
Object— bütün tiplər üçün əsas sinif, Object tipli dəyişən hər hansı obyekti saxlaya bilər, lakin xüsusi metodları çağırmaq üçün tip çevirmə lazımdır:
Object z = 10;
// z.length; // Tərtib xətası
if (z is String) {
print(z.length); // Tip yoxlamasından sonra OK
}
Xülasə:
var— tip başlanğıcda müəyyən edilir.dynamic— tiplərin yoxlanmasını deaktiv edir, elastik, amma daha az təhlükəsiz.Object— əsas tip, xüsusi əməliyyatlar üçün açıq çevirmə tələb edir.