Dart Map对象Interface接口的实现

Dart 里没有像 TypeScript 的接口体系,官方说用abstract,但有些情况下还是无法平替。

比如下面这个常见的诉求:

// TypeScript里用指定接口约束一个对象
interface Cat {
  name: string,
  age: int,
}

const kitten: Cat = {
  name: "aGua",
  age: 1
} 

const catList: Cat[] = [
  {name: "bGua", age: 2},
  {name: "cGua", age: 3}
]

Dart里就很抓瞎,也没找到太好的办法,只能这样写:

// Dart(默认空安全),结合类的构造函数实现
class Cat {
  String name;
  int age;
  Cat({required this.name, required this.age})
}

void main () {
  final Cat kitten = Cat(name: "aGua", age: 1);
  final List<Cat> = [
  	Cat(name: "bGua", age: 2),
  	Cat(name: "cGua", age: 3)
  ];
}

虽然但是,还是希望官方能出个正式的接口功能吧。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值