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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了抽象类是否可以具有其他抽象类的返回类型的方法?相关的知识,希望对你有一定的参考价值。

我的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<T>
    Future<T> signIn();


class ExampleAuthService extends AuthService<FirebaseUser> 
  @override
  Future<FirebaseUser> signIn() 
    throw UnimplementedError();
  


以上是关于抽象类是否可以具有其他抽象类的返回类型的方法?的主要内容,如果未能解决你的问题,请参考以下文章