flutter 从子类调用超类的超方法

1qczuiv0  于 2023-02-13  发布在  Flutter
关注(0)|答案(2)|浏览(162)

我有一个抽象类A:

abstract class A {
    Future<String> firstMethod();
}

我实现了这个抽象类

class Aimp implements A {
  @override
  Future<String> firstMethod() async {
      return "test";
  }
}

我创建了另一个抽象类:

abstract class B extends A {
  
    Future<String> secondMethod();
}

我实现了这个抽象类

class Bweb extends B {
    @override
      Future<Object> secondMethod() async {
          final t = //I want to call firstMethod()
         if(t.isNotEmpty()) // do sth
    }
}

在secondMethod()的实现中,如何调用firstMethod()的实现?
我不想使用mixin

knsnq2tg

knsnq2tg1#

然后你需要一个Aimp类项目的对象作为Bweb类的一个字段。或者把A类作为B类的一个字段。

q8l4jmvw

q8l4jmvw2#

我尝试使用with代替:

abstract class A {
    Future<String> firstMethod();
}

class Aimp implements A {
  @override
  Future<String> firstMethod() async {
      return "test";
  }
}

abstract class B with Aimp {
    Future<String> secondMethod();
}

class Bweb extends B {
  
    @override
    Future<String> secondMethod() async {
         final String t = await firstMethod(); //Your firstMethod function
         if(t.isNotEmpty) {
           return t;
         }
      return '';
    }
}

相关问题