颤音:从抽象的无状态小部件继承



我有一个必须进行自定义小部件的类。这个可以具有两个不同的实现,因此我想将一个抽象类作为接口,并创建两个扩展抽象的类。所以,我有:

abstract class ICustomWidget extends StatelessWidget{}
class A extends ICustomWidget{
  @override
  Widget build(BuildContext context) =>
     //Implementation
}
class B extends ICustomWidget {
  @override
  Widget build(BuildContext context) =>
     //Implementation
}

我想问这是这样做还是还有另一个。谢谢

而不是extends,我会使用implements,因为ICustomWidget是接口,而不是类,除非您可以提供更多上下文和/或代码示例。

这是接口的示例代码


abstract class ICustomWidget {
// or
// abstract class ICustomWidget extends StatelessWidget {
  void myProtocal();
}
class A extends StatelessWidget implements ICustomWidget {
  @override
  void myProtocal() {
    // TODO: implement myProtocal
  }
  @override
  Widget build(BuildContext context) {
     //Implementation
  }
}
class B extends ICustomWidget {
  // compilation error, `myProtocal` not implemented
  @override
  Widget build(BuildContext context) {
     //Implementation
  }
}

最新更新