gpt4 book ai didi

flutter - 抽象类是否可以具有其他抽象类的返回类型的方法?

转载 作者:行者123 更新时间:2023-12-03 03:34:40 26 4
gpt4 key购买 nike

我的flutter / dart应用程序将Provider程序包与各种身份验证服务一起使用,例如Google,Apple,Firebase等。我希望我的抽象类为各种实现提供更多指导,如下所示:

abstract class AuthService{
Future<User> signIn();
}

abstract class User{}

实际上,我必须将其实现为:
abstract class AuthService{
Future<dynamic> signIn();
}

因为我的AuthService的特定实现不会返回用户,而是FirebaseUser或AppleUser。有没有一种方法可以将返回类型指定为抽象User类的某种实现?

最佳答案

这实际上与返回任何抽象的基类没有什么不同。构造一个具体类的实例并返回它。

abstract class AuthService{
Future<User> signIn();
}

abstract class User{}

class FirebaseUser extends User {}

class FirebaseAuthService extends AuthService {
@override
Future<User> signIn() {
return Future.value(FirebaseUser());
}
}

关于flutter - 抽象类是否可以具有其他抽象类的返回类型的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61759843/

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