gpt4 book ai didi

dart - IntelliJ 报告抽象类缺少具体方法的实现,但方法是在抽象类中实现的?

转载 作者:行者123 更新时间:2023-12-03 04:27:20 24 4
gpt4 key购买 nike

我有一个抽象的 Dart 类,它包含一些抽象方法和一个具体的已实现方法,我希望在所有子类中保持一致。

IntelliJ 的 Dart 分析系统在子类中报告我实现的方法不存在具体实现——尽管我可以看到抽象有具体实现。

我也尝试在我的子类中实现该方法并调用父类(super class),但这也被报告为未实现。抽象类和子类都在同一个文件中。

abstract class Exporter {
List<String> getHeaderRow();
List<dynamic> getEntryAsRow(EntriesData entry);

/// Concrete implementation
dynamic getVal(dynamic value) {
return null;
}
}

// ExpenseReport underlined in red: missing concrete implementation of getVal
class ExpenseReport implements Exporter {
List<String> getHeaderRow() {
return [];
}

List<dynamic> getEntryAsRow(EntriesData entry) {
return [];
}

// dynamic getVal(dynamic value) {
// super.getVal(value); // IntelliJ reports "getval" as abstract in superclass
// }

}

最佳答案


class ExpenseReport implements Exporter

你的意思是你的 ExpenseReport 实现了 Exporter 的接口(interface),这反过来意味着它必须实现 Exporter 中声明的所有方法。

如果你想从抽象的 Exporter 继承实现的方法,你需要像这样扩展它:
class ExpenseReport extends Exporter

关于dart - IntelliJ 报告抽象类缺少具体方法的实现,但方法是在抽象类中实现的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58823084/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com