Junior — Middle
Мо метавонед шарҳ диҳед, ки конструктор-перепределитель чист ва чӣ гуна кор мекунад?
sobes.tech AI
Ҷавоб аз AI
Дар Flutter, сохтмонии такрорӣ як сохтмонест, ки рафтори сохтмони асосӣ ё дигар сохтмони дар ҳамон синфро иваз мекунад ё васеъ мекунад.
Беҳтар аст, ки ба сохтмонҳои номӣ ё сохтмонҳои бо оғозкунандагон ишора шавад, ки имкон медиҳанд, ки намунаҳои синф бо параметрҳо ё логикаи гуногун сохта шаванд.
Масалан, сохтмони такрорӣ бо истифода аз : барои даъвати сохтмони асосӣ:
class Animal {
String name;
Animal(this.name);
}
class Dog extends Animal {
int age;
Dog(String name, this.age) : super(name); // сохтмони такрорӣ
}
Ин ҷо, сохтмони Dog сохтмони асосии Animal-ро тавассути super(name) даъват мекунад, ки роҳи сохтани объектро иваз мекунад.
Дар Dart, инчунин мумкин аст, ки сохтмонҳои номӣ барои роҳҳои гуногуни оғоз кардан созанд:
class Point {
double x, y;
Point(this.x, this.y);
Point.origin() : x = 0, y = 0; // сохтмони номӣ
}
Бинобар ин, сохтмони такрорӣ роҳи муайян кардани вариантҳои алтернативӣ ё васеъшуда барои сохтани объектҳои синф мебошад.