网站拥有权,审计局网站建设管理,wordpress图片打水印,青岛开发区网站建设多少钱文章目录 概念介绍使用方法示例代码使用扩展 我们在上一章回中介绍了
flutter_screenutil包相关的内容#xff0c;本章回中将介绍
dart中的setter/getter方法.闲话休提#xff0c;让我们一起Talk Flutter吧。 概念介绍
我们在这里介绍的setter/getter方法属于编程语言中的… 文章目录 概念介绍使用方法示例代码使用扩展 我们在上一章回中介绍了
flutter_screenutil包相关的内容本章回中将介绍
dart中的setter/getter方法.闲话休提让我们一起Talk Flutter吧。 概念介绍
我们在这里介绍的setter/getter方法属于编程语言中的知识现代编程语言都支持这两种方法而且会自动生成dart也支持这两种方法但是不会自动生成。
使用这两种方法可以方便开发人员修改和获取类中的属性值。在程序开发中这两种方法使用十分广泛。比如我们在前面章回中介绍的数据共享以及屏幕适配包中源代码都使用了这两种方法只是当时我们没有介绍而已本章回中将详细介绍这两种方法的使用方法。
使用方法
我们先介绍settter/getter方法的语法详细如下
set FuncName(Type){};Type get FuncName{}语法中的Type表示属性的类型FuncName表示方法的名字比较奇怪的是这两个方法的名字尽然可以相同使用IDE自动生成setter/getter方法时就会创建相同名字的方法。
语法中的set和get是语法关键字创建这两个方法时关键字不能少使用关键字后getter方法名后面就没有括号了,这是和其它编程语言不同的地方。
示例代码
class ViewModel extends ChangeNotifier {late int _intData;late String _data;ViewModel() {_intData 0;_data init data;}int get intData _intData;set intData(int value) {_intData value;}String get getData {return _data;}set setData(String value) {_data value;}
}上面的示例代码中包含两个属性,我们给这两个属性创建了setter/getter方法其中intData属性的方法是IDE自动生成的而data属性的方法是自己手写的。此外getter方法中还可以使用dart的语法糖箭头这样可以使代码简洁一些。
使用扩展
在实际项目中getter方法还有另外一种扩展使用的方法我也是在适配屏幕包中的源代码中看到的下面是示例代码
///使用extension语法对double进行扩展这样就可以使用2.0.w这样的语法来做适配使的代码更加简洁
///这个语法参考了screenutil包中的语法因为该包中有这样的使用方法。
extension DoubleExtension on double {double get w {return XScreenUtil.setFitRatio(this);}
}上面的代码中使用extension语法扩展了基础类double中的方法,相当于添加了一个名叫w的getter方法。在程序中的其它地方可以使用double对象.w这样的语法来使用getter方法这种代码初次看时不好理解使用多了反而会觉得很方便。
看官们关于dart中的setter/getter方法相关的内容就介绍到这里欢迎大家在评论区交流与讨论!