跳到主要內容

inconsistent_inheritance

超類介面沒有 '{0}' 的有效重寫:{1}。

描述

#

當一個類繼承了成員的兩個或多個衝突簽名,並且沒有提供一個能夠滿足所有繼承簽名實現的成員時,分析器會產生此診斷資訊。

示例

#

以下程式碼產生此診斷資訊,因為類 CA 繼承了 m 的宣告,而該實現與從 B 繼承的 m 簽名不一致。

dart
class A {
  void m({int? a}) {}
}

class B {
  void m({int? b}) {}
}

class C extends A implements B {
}

常見修復方法

#

新增一個滿足所有繼承簽名的成員實現。

dart
class A {
  void m({int? a}) {}
}

class B {
  void m({int? b}) {}
}

class C extends A implements B {
  void m({int? a, int? b}) {}
}