小编dev*_*miu的帖子

重写抽象类 Dart 中的最终属性

我创建了一个抽象类,其中包含无状态小部件可以覆盖的方法和属性,但在实现该类之后,由于无状态小部件的不变性,我必须将小部件属性设置为最终属性,然后将抽象类属性也设置为最终属性。然后,我收到错误,必须初始化最终变量。

使用最终变量实现抽象类的正确方法是什么?

抽象类

abstract class BusinessCard {
  final CardView cardView;
  final CardInfo cardInfo;
  Widget front(BuildContext context);
  Widget back(BuildContext context);
}
Run Code Online (Sandbox Code Playgroud)

实施类

class Card1 extends StatelessWidget implements BusinessCard {
  final CardView cardView;
  final CardInfo cardInfo;

  Card1({
    @required this.cardView,
    @required this.cardInfo,
  });

  @override
  Widget build(BuildContext context) {
    return cardView == CardView.front ? front(context) : back(context);
  }

  @override
  Widget front(BuildContext context) {

  }

  @override
  Widget back(BuildContext context) {
    
  }
}
Run Code Online (Sandbox Code Playgroud)

oop abstract-class design-patterns dart flutter

4
推荐指数
1
解决办法
8448
查看次数

标签 统计

abstract-class ×1

dart ×1

design-patterns ×1

flutter ×1

oop ×1