Dart 居然不支持方法重载(Overload),你知道吗?

本文介绍了Dart语言中不支持方法重载,并提出了使用final字段、getter和setter的最佳实践。建议优先将字段定义为final,使用getter和setter表达访问和修改操作,避免使用运行时类型检测来实现类似重载的功能,以及避免返回可能为空的Future、Stream或集合。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

戳这里了解《Flutter入门与实战》专栏,持续更新、系统学习!

前言

这里要讲到的成员(Members)包括类的属性(Properties)和方法(Methods)。养成良好的类成员定义和使用习惯,不仅可以使代码更清晰,也能够提高程序的健壮性。本篇介绍如何正确地使用类成员。

建议1:优先将字段或顶级变量定义为 final

将字段或顶级变量定义为 final 可以表明它们在运行过程中是不可变的。类或库应该将可变的范围缩减到最低,从而提高代码的可维护性。当然,这并不是说不需要可变的数据,而是说非必要不要定义可变的字段或变量,尽可能地地使用 final 定义,哪怕是回头发现需要改变的时候再改也会比一开始定义为可变的要好。
如果一个成员属性在一开始的时候没法初始化,但是初始化之后就没法再更改,那么可以使用 late final 定义:

class Student {
  late final name;
  int age;
  
  Student({required this.name, required this.age});
}

建议2:使用 getter 作为在概念上是访问类属性的操作

我们获取类的成员既可以使用 getter,也可以使用一个方法。两种方式看似没有多大区别,但是如何选择对于 API 设计来说却十分重要。很多其他编程语言如果考虑封装,需要使用 getXX()方法来获取对象的属性值。只对那些定义为公共成员的才可以使用 .XX 访问。 比如 Java 代码:

public class Circle {
   
    public Circle(double radius) {
   
        this.<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

岛上码农

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值