温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
Hello,大家好,这个小节我们来介绍一下class里边的get和set,对于这个get和set呢,咱们ES5里边也用过啊,可以呢,对对象的一个属性进行啊方法的一个绑定。啊,比如说我们可以添加一个get方法,然后当对某一个属性进行获取时,来去执行get对应的函数。当对某一个属性进行设置时,来去执行另外一个函数里边代码来完成。那么在class这块呢,也有这样的特性,我来给大家演示一下class for。然后我们以一个属性来为例,就以price来为例,这个属性好,我在前面呢,来一个get。后边呢,用这个括号补全啊,这里边写的是一个行参,然后里边呢是一个食参,好,然后我们写一个o log啊,价格属性。
01:00
啊,被读取了。好保存,接下来呢,我在这儿实例换一个对象十。类化对象啊,Let s等于一个缝,注意这点,我们的class呢,没有构造函数是合法的。就构造函数,并不是说必须要有,没有也可以。好,然后呢,咱们使用这个log的方式来输出一下S点这个属性。保存大家可以看一下。啊,就现在的话,我们对price这个属性的一个读取,绑定一个函数,只要你来读取实例对象的一个price属性,我就会执行这个函数里边的代码,而且这个函数里边的返回值。就是这个属性的一个值。保存,你看一下我这return I love you,所以你在读取price的时候得到结果也是一个I loveyou。
02:02
这是get,然后呢,与之对应的set也是如此啊,当你要对price这个属性进行一个赋值的时候,就会调用这个函数啊,价格。价格属性被修改了。这时候注意一个小的细节啊,语法细节保存,看这must have exactly one formal parameter,就说price,就是说这个set就是设置器,这个函数必须要有一个参数。但是你这没有啊,咱们来补一个new的V。啊用的V好,然后呢,接下来的话,咱们来对price属性做一个赋值s.price等于一个free是免费保存,看这边右边啊,然后价格属性被修改了,这个方法呢,它就触发了。啊,这是在class内部get和set的一个设置啊,对于他们的一个啊使用场景get的话,它通常来对对象的一个动态属性做一个封装,就这个属性呢,它是一个变化的,你比如说我们求总数,然后求平均数。
03:16
这个这个值啊,它是随着你的数据的变化而变化,而并不是一个固定的,那这个时候咱们用用这个get来通过一个函数动态去计算出结果啊,就变得非常非常方便,而至于set呢,设置这块,我们可以添加更多的一些控制和判断,你比如说你给我设置这个值,到底是不是一个合法的呀?啊,比如我要求必须数字,你这会给我来个字符串,那能行吗?哎,不行,那不行的话我就可以做判断。成功我可以复制,失败我就不复制了。啊,这是get和set他们一个使用的一个场景。好,那么这个小节咱们对于class里边get和set一个使用,就先介绍这么多。
我来说两句