Именованный конструктор в Dart
Именованный конструктор - еще один способ создать объект,
когда основной конструктор уже задан. Его пишут в теле класса
с точкой после имени типа и связывают с основным
через this:
class Post {
String title;
int likes;
Post(this.title, this.likes);
Post.draft(String title) : this(title, 0);
}
Короткий вызов попадает в именованный конструктор, а тот передает заголовок и ноль в основной. Поля создает только основной конструктор:
var post = Post.draft("note");
print(post.title);
print(post.likes);
Тело именованного конструктора выполняется после списка инициализации основного. К этому моменту поля уже записаны:
class Post {
String title;
int likes;
Post(this.title, this.likes) {
print(likes);
}
Post.draft(String title) : this(title, 0) {
print(title);
}
}
Вызовем конструктор:
Post.draft("note");
Сделайте класс Product с названием и ценой
в основном конструкторе. Добавьте именованный
конструктор только с названием: цена при этом
равна 0.
Создайте товар коротким вызовом со строкой
"pen" и выведите название и цену.