第二百六十二回

2024-01-13 01:28
文章标签 二回 二百六十

本文主要是介绍第二百六十二回,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 概念介绍
  • 使用方法
  • 示例代码
  • 使用扩展

我们在上一章回中介绍了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方法"相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!

这篇关于第二百六十二回的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/599795

相关文章

二百六十、Java——采集Kafka数据,解析成一条条数据,写入另一Kafka中(复杂JSON)

一、目的 由于部分数据类型频率为1s,从而数据规模特别大,因此完整的JSON放在Hive中解析起来,尤其是在单机环境下,效率特别慢,无法满足业务需求。 而Flume的拦截器并不能很好的转换数据,因为只能采用Java方式,从Kafka的主题A中采集数据,并解析字段,然后写入到放在Kafka主题B中 二 、原始数据格式 JSON格式比较复杂,对象中包含数组,数组中包含对象 {     "de

美学心得(第二百六十六集) 罗国正

美学心得(第二百六十六集) 罗国正 (2024年8月) 3223、现代戏曲理论家、作家吴梅,是江苏苏州市人,曾任多所名牌大学教授,在戏曲理论研究上,成绩卓著,他的主要美学观点如下: 1、他认为戏曲先应有“真”,再有风趣。 2、“真所以补风化,趣所以动观听”。 3、剧的唯一宗旨在“美”。 4、“乐府亡而词兴,词兴而曲作”。 5、元剧多用北词,明人多用南曲。 6、元剧以拙朴胜,明

第四百九十二回

文章目录 1. 概念介绍2. 使用方法2.1 SegmentedButton2.2 ButtonSegment 3. 代码与效果3.1 示例代码3.2 运行效果 4. 内容总结 我们在上一章回中介绍了"SearchBar组件"相关的内容,本章回中将介绍SegmentedButton组件.闲话休提,让我们一起Talk Flutter吧。 1. 概念介绍 我们在本章回中介绍的

美学心得(第二百六十集) 罗国正

美学心得(第二百六十集) 罗国正 (2024年4月)   3110、近代文学家陈衍,诗宗盛唐,是同光派主要诗人和理论家,他的主要美学观点如下: 1、“合学人,诗人之诗二而一之”。 2、“诗人、学人二者,非肆力兼致,不足薄风骚、副雅材”。 3、“作诗文要有真实怀抱、真实道理、真实本领”。 4、“诗之为道,易能而难精,工力未至,往往侪伍时辈,菲能相尚也。然所贵乎为诗者,非必蕲于相尚也,

美学心得(第二百六十一集) 罗国正

美学心得(第二百六十一集) 罗国正 (2024年4月)   3120、                            对蔡元培的人生轨迹和美学的思考 罗国正 (2024年4月于广州)   推动中国现代历史发展的巨人——蔡元培,他的动人事绩和卓越功勋、博大精彩的人生,值得人们思考、学习、研究。在他的有生之年,几乎当时中国所有优秀人物都受过他直接或间接的影响,其中大量的杰出的领

C++之双向链表与哈希链表用法区别实例(二百六十八)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒体系统工程师系列【原创干货持续更新中……】🚀 优质视频课程:AAOS车载系统+AOSP14系统攻城狮入门实战课【原创干货持续更新中……】🚀 人生格言: 人生从来没有捷径,只有行

C++之结构体初始化10种写法总结(二百六十六)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒体系统工程师系列【原创干货持续更新中……】🚀 人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药. 更多原创,欢迎关注:Android系统攻城狮 1

一起talk C栗子吧(第一百三十二回:C语言实例--从内存的角度看进程和线程)

各位看官们,大家好,上一回中咱们说的C程序内存布局的例子,这一回咱们说的例子是:从内存的角度看进程和线程。闲话休提,言归正转。让我们一起talk C栗子吧! 看官们,我们刚刚介绍完C程序的内存布局,我们趁热打铁,从内存的角度来分析一下进程和线程。 不管是进程还是线程,他们都会加载到内存中才能运行,因此他们在内存中的布局和其它C程序的内存布局完全相同。进程和线程的内存布局也分为代码区,数据

一起Talk Android吧(第三百零二回:TextView显示长文字)

各位看官们,大家好,上一回中咱们说的是Android中如何正确地退出应用程序的例子,这一回咱们说的例子是TextView显示长文字。闲话休提,言归正转。让我们一起Talk Android吧! 看官们,我们在本系列内容的第五十九回章回中介绍过TextView,不过只介绍了它的基本用法,时间比较长,大家如果忘记的话可以点击这里查看。本章回中我们再谈TextView,主要是介绍如何让它显示长文

第三百九十二回

文章目录 1. 概念介绍2. 方法与细节2.1 实现方法2.2 具体细节 3. 示例代码4. 内容总结 我们在上一章回中介绍了"如何混合选择多个图片和视频文件"相关的内容,本章回中将介绍如何通过相机获取图片文件.闲话休提,让我们一起Talk Flutter吧。 1. 概念介绍 我们在前面章回中介绍的选择图片或者视频文件的方式都是通过文件窗口进行的,本章回中将介绍如何通过相