Dart не наследует реализации от implements Shape
, но только утверждает, что Rectangle
соответствует интерфейсу Shape
.
Вам нужно добавить String color;
к Rectangle
, чтобы удовлетворить implements Shape
.
Вы можете сделать это, добавив поле или, альтернативно, геттер и сеттер.И то, и другое эквивалентно с точки зрения интерфейса класса.
class Rectangle implements Shape {
String color;
@override
void draw() {
print('Draw Rectangle');
}
}
или
class Rectangle implements Shape {
String _color;
String get color => _color;
set color(String value) => _color = value;
@override
void draw() {
print('Draw Rectangle');
}
}
Последнее считается плохим стилем, если получатель и установщик только перенаправляют в приватное поле без дополнительныхкод.