dart 学习 区分好setter,getter和一般的函数
2023-12-28 16:53:55
看看代码可以很好的分析 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和普通函数之间的区别。
- 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 更加合适
文章来源:https://blog.csdn.net/wniuniu_/article/details/135271805
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!