swift学习笔记--计算属性和存储属性的区别

4 篇文章 0 订阅

存储属性:用于存储一个常量或者变量,简单来说就是用来存储值得。它在定义时可以直接赋值,可以定义为可选值,也可以先定义然后在重载构造函数中赋值。

直接赋值:

class Person1 {
            var name: String = "lili"
            let age: Int = 10
}
定义为可选值:

class Person1 {
            var name: String?
            let age: Int?
}
先定义再加载重载函数:

class Person1 {
            var name: String
            var age: Int

            init (name:String, age:Int){
               self.name = name
               self.age = age
            }
}

计算属性:计算属性不直接存储值,而是通过提供一个getter来获取值,提供一个setter来设置其他属性的变化/值。如果也直接存储值的话,那么就和存储属性一样了(变成了存储属性)。

class Person {
      
     var length : Int = 10
     var age : Int
     {
         get 
         {
            return length * 2 
          }
         
           set 
           {
             length = newValue / 2   //set可以自带一个newName的参数,如果没有,默认为newValue 
            }
      }
}
其实,存储属性和计算属性的区别就在于定义的时候是否直接存储值,存储属性直接为其赋值并存储值,而计算属性则是通过getter方法来间接地获取值


  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值