我對 Dart 和 Flutter 非常陌生,我一直在嘗試創建兩個類(SuccessState 和 ErrorState),它們實作了一個帶有可選命名引數的抽象類(DataState)。出于某種原因,每當我在 SuccessState 和 ErrorState 中呼叫超級建構式時,我都會在 SuccessState 建構式中的“data”引數和 ErrorState 建構式中的“status”和“msg”引數上得到 undefined_named_pa??rameter 錯誤。非常感謝任何輸入,謝謝。
abstract class DataState<T> {
final T? data;
final int? status;
final String? msg;
const DataState({this.data, this.status, this.msg});
}
class SuccessState<T> implements DataState<T> {
const SuccessState(T data) : super(data: data);
@override
noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation);
}
class ErrorState<T> implements DataState<T> {
const ErrorState(int status, String msg) : super(status: status, msg: msg);
@override
noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation);
}
uj5u.com熱心網友回復:
問題是您使用的是implements而不是extends. 使用implements.
uj5u.com熱心網友回復:
您做錯的事情是您正在實施,因為您必須擴展 DataState 類,然后問題將得到解決
'類 ErrorState 實作了 DataState'
更改為類 ErrorState 擴展了 DataState
uj5u.com熱心網友回復:
您想將 SuccessState 和 ErrorState 擴展到 DataState。
abstract class DataState<T> {
final T? data;
final int? status;
final String? msg;
const DataState({this.data, this.status, this.msg});
}
class SuccessState<T> extends DataState<T> {
SuccessState(T data) : super(data: data);
@override
noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation);
}
class ErrorState<T> implements DataState<T> {
const ErrorState(int status, String msg) : super();
@override
noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/383453.html
