You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter抽象类如何为Getter设置默认值并支持重写?

实现方案

在Dart中,要给抽象类的Getter属性设置默认值并允许子类按需重写,只需把原来的抽象Getter替换为带有默认实现的普通Getter即可,具体代码修改如下:

abstract class Dummy {
  // ...
  Duration get progressBarAnimationDuration => const Duration(milliseconds: 300);
  Curve get progressBarAnimationCurve => Curves.easeInOut;
}

子类重写示例

如果子类需要自定义这两个属性的值,直接通过@override关键字重写对应的Getter即可;不需要修改的属性会自动继承父类的默认值:

class CustomDummy extends Dummy {
  // 重写动画时长,使用自定义值
  @override
  Duration get progressBarAnimationDuration => const Duration(milliseconds: 500);
  
  // 不重写动画曲线,自动使用父类的Curves.easeInOut
}

原理说明

原来的抽象Getter会强制所有子类必须实现该属性,改成带默认实现的普通Getter后,子类既可以选择继承默认值,也能根据自身需求重写,完全满足“默认值+按需重写”的需求。

内容的提问来源于stack exchange,提问作者Chris

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 19:54:49