Абстрактный класс в Dart
Абстрактный класс объявляют словами abstract class
и именем типа. Внутри допустимы обычные поля и методы с телом - как в
любом классе:
abstract class Post {
String title = "";
String getTitle() {
return title;
}
void setTitle(String title) {
this.title = title;
}
}
Попытка создать объект абстрактного класса приводит к ошибке:
// var post = Post();
Конкретный класс наследует абстрактный через extends.
У потомка можно добавить свои поля и методы:
class Employee extends Post {
int salary = 0;
int getSalary() {
return salary;
}
void setSalary(int salary) {
this.salary = salary;
}
}
Объект потомка создают вызовом конструктора. Методы родителя доступны у объекта наследника:
var employee = Employee();
employee.setTitle("note");
employee.setSalary(1000);
print(employee.getTitle());
print(employee.getSalary());
Сделайте абстрактный класс Figure,
представляющий собой геометрическую
фигуру. Пусть от него наследует классы
Circle, Rectangle
и Square.