swift 2.0 类中的计算属性 & 只读属性

swift 2.0 类中的计算属性 & 只读属性,第1张

概述// ---- 接触到一个新的属性定义:计算属性 //------计算属性,要注意的一点就是,他只管计算,并不会保存数据。 //------UI当中的应用场景,比如,我们赋给一个UI控件一定的frame,然后,我们就可以使用这个控件的bounds和center,我们自己并没有计算,而是直接就可以拿到的,所以人家内部是封装好了的。 class Circle{     var point: (Int,

// ---- 接触到一个新的属性定义:计算属性

//------计算属性,要注意的一点就是,他只管计算,并不会保存数据。

//------UI当中的应用场景,比如,我们赋给一个UI控件一定的frame,然后,我们就可以使用这个控件的boundscenter,我们自己并没有计算,而是直接就可以拿到的,所以人家内部是封装好了的。

@H_404_20@ class Circle{

@H_404_20@ var point: (Int,Int)

@H_404_20@ var radius: float

//计算属性

@H_404_20@ var perimeter: float{

@H_404_20@ get{

@H_404_20@ return float(2 * float(M_PI) * radius)

@H_404_20@ }

@H_404_20@ set{

@H_404_20@ print("哈哈")

@H_404_20@ }

@H_404_20@ }

//构造函数。

@H_404_20@ init(point: (Int,Int),radius: float){

@H_404_20@ self.point = point

@H_404_20@ self.radius = radius;

@H_404_20@ }

@H_404_20@ }



@H_404_20@ var circle = Circle(point: (5,5),radius: 5.0)


//我们拿到内部的一个计算属性的值,并打印

print(circle.perimeter)


//这里感觉是给这个计算属性赋值的感觉,但是其实,我们只是走了这个计算属性内部的一个setter方法,虽然走了这个方法,但是perimeter并不会自动存储这个值。

//如果我们非要存储这个值,我们可以在内部定义一个属性var temp: float?,然后接收这个值。在setter方法内部写一个 temp = newValue .记住计算属性中用到的newValue 只能在他的setter方法中写,你想,也只有setter方法才会传一个新值进去。

circle.perimeter = 38

//这里再次打印,验证一下,还是内部计算得出的那个结果。

// 另外计算属性,需要注意的一点是,如果在计算属性的内部,我们只写了get方法,那么这个计算属性又成为了只读属性,也就是只能访问。

总结

以上是内存溢出为你收集整理的swift 2.0 类中的计算属性 & 只读属性全部内容,希望文章能够帮你解决swift 2.0 类中的计算属性 & 只读属性所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1083584.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-27
下一篇2022-05-27

发表评论

登录后才能评论

评论列表(0条)

    保存