Цепочка вызовов в Dart
Если метод возвращает this, следующий метод можно
писать сразу после точки. Так настраивают объект
несколькими вызовами подряд:
class Post {
String title = "";
String author = "";
Post setTitle(String title) {
this.title = title;
return this;
}
Post setAuthor(String author) {
this.author = author;
return this;
}
String show() {
return "$title $author";
}
}
Создадим объект и вызовем методы цепочкой:
var post = Post()
.setTitle("john")
.setAuthor("smit");
print(post.show());
Каждый сеттер меняет поле и отдает тот же объект. Порядок вызовов в цепочке может быть любым:
class Post {
String title = "";
int likes = 0;
Post setTitle(String title) {
this.title = title;
return this;
}
Post setLikes(int likes) {
this.likes = likes;
return this;
}
}
Создадим объект и вызовем методы цепочкой:
var post = Post().setLikes(25).setTitle("john");
print("${post.title} ${post.likes}");
Сделайте класс Employee с полями name
и salary. Сделайте методы setName
и setSalary, которые возвращают Employee.
Создайте объект Employee цепочкой из двух сеттеров.
Выведите имя и зарплату.