首页 > 解决方案 > 你如何在 dart 中执行抽象类的继承?错误:超类 SpanishData 没有零参数构造函数

问题描述

我正在尝试创建一个名为 SpanishData 的抽象类然后我想创建另一个名为 alphabet 的类来扩展西班牙数据

我收到一个错误:超类 SpanishData 没有零参数构造函数。我该如何解决?

这是我的代码:

abstract class SpanishData{
  String englishWord;
  String spanishWord;
  String mp3;

  SpanishData(this.englishWord,this.spanishWord,this.mp3);

  void getList (){

  }



}


//the alphabet class

import '../SpanishDataAbstract.dart';


class Alphabet extends SpanishData{

  @override
  void getList(

      )


}

标签: flutterinheritancedartabstract

解决方案


您需要参考parent classclass正在扩展的属性。您可以使用super关键字来执行此操作。

The super() method on a class constructor allows a subclass to pass arguments and execute the constructor of its superclass. 

下面的代码有效:

abstract class SpanishData{
  String englishWord;
  String spanishWord;
  String mp3;

  SpanishData(this.englishWord,this.spanishWord,this.mp3);

  void getList (){

  }
}


class Alphabet extends SpanishData{

  // create a constructor of the alphabet class and call the parent constructor
  Alphabet(String englishWord, String spanishWord, String mp3) : super(englishWord, spanishWord, mp3);

  @override
  void getList(){}
}


推荐阅读