extends не работает: не имеет конструктора с нулевым аргументом

avatar
Ahmed
1 июля 2021 в 20:45
52
1
-1
class Persons {
  final String name;
  final String age;
  Persons(
    this.name,
    this.age,
  );
  void printName() {
    print(name);
  }
}

class Players extends Persons {}

введите описание изображения здесь

Источник
jamesdlin
1 июля 2021 в 20:55
2

Поскольку Players расширяет Persons, конструктор Players должен вызывать конструктор базового класса. Поскольку вы не указали конструктор для Players, Dart создаст для вас конструктор, эквивалентный Players() : super();. Однако конструктор базового класса имеет обязательные аргументы. Какими, по вашему мнению, будут Players().name и Players().age? Вам потребуется предоставить явный конструктор Players, который явно вызывает базовый конструктор Persons с необходимыми аргументами.

Ответы (1)

avatar
The Anonymous Koder
2 июля 2021 в 04:00
0

Изменить класс игроков

class Players extends Persons {
  Players(name, age): super(name, age);
}