跳到主要內容

non_abstract_class_inherits_abstract_member

缺少 '{0}' 的具體實現。

缺少 '{0}' 和 '{1}' 的具體實現。

缺少 '{0}'、'{1}'、'{2}'、'{3}' 以及其他 {4} 項的具體實現。

缺少 '{0}'、'{1}'、'{2}' 和 '{3}' 的具體實現。

缺少 '{0}'、'{1}' 和 '{2}' 的具體實現。

描述

#

當一個具體類繼承了一個或多個抽象成員,並且沒有為至少一個抽象成員提供或繼承實現時,分析器會產生此診斷資訊。

示例

#

以下程式碼會產生此診斷資訊,因為類 B 沒有提供 m 的具體實現。

dart
abstract class A {
  void m();
}

class B extends A {}

常見修復

#

如果子類可以為部分或所有抽象繼承成員提供具體實現,則新增這些具體實現。

dart
abstract class A {
  void m();
}

class B extends A {
  void m() {}
}

如果存在提供繼承方法實現的 mixin,則將該 mixin 應用於子類。

dart
abstract class A {
  void m();
}

class B extends A with M {}

mixin M {
  void m() {}
}

如果子類不能為所有抽象繼承成員提供具體實現,則將子類標記為抽象類。

dart
abstract class A {
  void m();
}

abstract class B extends A {}