Swift什么是’get’和’set’?

Swift什么是’get’和’set’?,第1张

概述我正在学习Swift,我正在从苹果公司阅读Swift编程语言,我没有Objective C的背景(只有PHP,JS和其他,但没有Obj C) 在第24-25页,我看到了这段代码: //...Class definition stuff...var perimeter: Double { get { return 3.0 * sideLength } se 我正在学习Swift,我正在从苹果公司阅读Swift编程语言,我没有Objective C的背景(只有PHP,Js和其他,但没有Obj C)

在第24-25页,我看到了这段代码:

//...Class deFinition stuff...var perimeter: Double {    get {        return 3.0 * sIDeLength    }    set {        sIDeLength = newValue / 3.0    }}//...Class continues...

这部分没有在书中指定,我不能得到那些是什么。

任何人都可以解释我得到和设置是什么?

类中的变量的获取和设置指的是检索(“获取”)或改变(“设置”)它们的内容。

考虑类家族的可变成员。自然地,这个变量将需要是一个整数,因为一个家庭永远不能包含两点的东西人。

所以你可能会通过定义这样的成员变量:

class family {   var members:Int}

但是,这将给予使用这个类的人们将家庭成员的数量设置为0或1的可能性。因为没有1或0的家庭这样的东西,这是非常不幸的。

这是吸气剂和固化剂进入的地方。这样,你可以自己决定如何改变变量以及它们可以接收什么值,以及决定它们返回什么内容。

回到我们的家庭类,让我们确保没有人可以将成员值设置为小于2:

class family {  var _members:Int = 2  var members:Int {   get {     return _members   }   set (newVal) {     if newVal >= 2 {       _members = newVal     } else {       println('error: cannot have family with less than 2 members')     }   }  }}

现在我们可以像以前一样访问成员变量,通过键入instanceOfFamily.members,并且感谢setter函数,我们还可以通过输入来设置它的值,例如:instanceOfFamily.members = 3。但是,是我们不能将此变量设置为小于2的事实。

注意_members变量的引入,它是存储通过成员setter函数设置的值的实际变量。原始成员现在已经成为一个计算属性,这意味着它只作为一个接口来处理我们的实际变量。

总结

以上是内存溢出为你收集整理的Swift什么是’get’和’set’?全部内容,希望文章能够帮你解决Swift什么是’get’和’set’?所遇到的程序开发问题。

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

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

原文地址: http://outofmemory.cn/web/1060044.html

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

发表评论

登录后才能评论

评论列表(0条)

保存