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

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();
  


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

抽象类指针

接口抽象类

抽象类可继承实体类(要有明确的构造方法),这句话该怎么理解?

抽象类

Java Review (十面向对象----抽象类)

Java Review (十面向对象----抽象类)