Метод расширения в Dart
Метод расширения записывают внутри блока
extension так же, как метод в классе. Объект
целевого типа после объявления может вызвать эту команду
через точку, не меняя исходное объявление класса.
Класс Post хранит заголовок, а вывод вынесем
в расширение PostText:
class Post {
Post(this.title);
String title;
}
extension PostText on Post {
void shout() {
print(title);
}
}
Создадим объект и вызовем метод:
var post = Post("note");
post.shout();
Метод shout живет в расширении, но вызывается
у переменной post как собственная команда типа
Post. Поле title остается в классе,
расширение только использует его внутри тела метода.
Сделайте класс Employee с полем name
и конструктором, принимающим имя.
Объявите расширение с методом, который выводит
значение name через print.
Создайте объект Employee и вызовите
метод расширения.
Дан следующий код:
class Employee {
Employee(this.name);
String name;
}
Добавьте расширение с методом show,
который выводит строку "hello",
и вызовите его у нового объекта.