Конструктор при наследовании в Dart
У родителя параметры конструктора задают в заголовке класса.
Потомок передает нужные аргументы родителю - через список
инициализации после двоеточия или с помощью super
в параметрах конструктора:
class Post {
String title;
String author;
Post(this.title, this.author);
String getTitle() => title;
String getAuthor() => author;
}
Пустой потомок вызывает конструктор родителя без своих полей:
class Note extends Post {
Note(String title, String author) : super(title, author);
}
Тот же вызов родителя можно записать через super
в списке параметров:
class Note extends Post {
Note(super.title, super.author);
}
Добавим в Employee зарплату - сначала передаем
заголовок и автора в Post, затем сохраняем зарплату:
class Employee extends Post {
int salary;
Employee(
String title,
String author,
this.salary,
) : super(title, author);
int getSalary() => salary;
}
Создание объекта передает все параметры:
var employee = Employee("john", "smith", 1000);
print(employee.getTitle());
print(employee.getSalary());
Класс Employee должен наследовать
от класса Post из данного
урока.
Переопределите в классе Employee
конструктор родителя, добавив в него
параметры с возрастом и зарплатой.
Сделайте геттеры для возраста и зарплаты.