dart 学习 区分好setter,getter和一般的函数

看看代码可以很好的分析 setter ,getter 和普通的函数有什么区别

void main() {
  car a = new car("奔驰", 12);
  print(a.name);
  a.age = 100;
  print(a.age);
  a.setname = "宝马"; // 调用 setter
  print(a.getage); // 调用getter

  a.setter("雷克萨斯");
  a.getter();
}

class car {
  String name;
  int age;
  car(this.name, this.age);
  // 这是一个setter
  void set setname(String name) {
    // 这个 void 可以省略
    this.name = name;
  }

  //这个是一个getter
  int get getage => this.age;
  // 这是一个函数
  void setter(String name) {
    this.name = name;
  }

  int getter() {
    return this.age;
  }
}

这段代码展示了在Dart语言中,setter、getter和普通函数之间的区别。

  1. Setter:
    Setter是一个特殊的方法,用于设置类的私有变量值。在给定的代码中,set setname(String name) 是一个setter,它允许外部代码修改name变量的值。在setter方法内部,this.name = name;这行代码实际上就是修改了类的私有变量name的值。

注意:setter的命名规则是 set + 变量名。在setter方法中,第一个参数就是你要设置的变量的名字。
2. Getter:
Getter是一个特殊的方法,用于获取类的私有变量的值。在给定的代码中,int get getage => this.age; 是一个getter,它允许外部代码获取age变量的值。与setter不同,getter方法没有参数。getter方法的命名规则是 get + 变量名。在getter方法中,你可以直接返回私有变量的值。
3. 普通函数:
普通函数用于执行某些操作,而不是直接访问或修改类的私有变量。在给定的代码中,void setter(String name) 和 int getter() 是普通函数。它们可以接受参数(setter)或返回值(getter)。这些函数并不直接与类的私有变量交互,而是执行一些其他的操作。

总之,setter、getter和普通函数的主要区别在于它们的用途和如何与类的私有变量交互。Setter和getter用于直接访问和修改私有变量,而普通函数则用于执行其他操作。

也就是说如果 name 和 age 变成私有变量的话,使用 setter 和 getter 更加合适

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

wniuniu_

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

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

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

打赏作者

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

抵扣说明:

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

余额充值