gpt4 book ai didi

flutter - Flutter在函数中调用不同类型

转载 作者:行者123 更新时间:2023-12-03 04:33:22 25 4
gpt4 key购买 nike

我在互联网上找不到答案。
我有一个功能,根据参数加载我的json文件。该参数是一个类,其中包含我称为FormHome的页面的形式。我有另一个表单页面,需要调用此json loader函数。因此,该类称为FormProfil。
在我的函数中,我允许使用FormHome类型的类型。我还如何授权FormProfil类型?

static Future<List<User>> load(FormHome formData) async
{
if(formData.username== AppConfig.VALUE){
try{
List _jsonUsers = await loadJsonParsed("myfile.json");
return UsersList.fromJson(_jsonUsers ).user;
}
catch(Exception){
throw MyException.jsonUsersError();
}
}
else{
throw MyException.Error();
}
}
我的类(class)表格首页:
class FormHome {
String username;
String age;
String gender;

FormHome ({
this.username,
this.age,
this.gender
});

Map<String, dynamic> toJson() => {
'username': username.toString(),
'age': age.toString(),
'gender': gender.toString()
};

@override
String toString() {
return '{ '
'${this.username}, '
'${this.age}, '
'${this.gender}, '
'}';
}
}
类FormProfil:
class FormProfil {
String username;
int distance;
int area;
String coordinates;

FormProfil ({
this.username,
this.distance,
this.area,
this.coordinates,
});

Map<String, dynamic> toJson() => {
'username': username.toString(),
'distance': distance.toString(),
'area': area.toString(),
'coordinates': coordinates.toString()
};

@override
String toString() {
return '{ '
'${this.username}, '
'${this.distance}, '
'${this.area}, '
'${this.coordinates}, '
'}';
}
}
编辑:我需要创建这个父类,其中包含我的子类的所有数据。我的 child 类(class)保持不变?
abstract class FormData {
String username;
String age;
String gender;
int distance;
int area;
String coordinates;

FormData ({
this.username,
this.age,
this.gender,
this.distance,
this.area,
this.coordinates,
});
}

最佳答案

使两个类都扩展一个新的抽象类(例如FormUser),该抽象类具有函数中所需的所有数据
然后使函数采用新类的参数代替FormHome

关于flutter - Flutter在函数中调用不同类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64544870/

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