美文网首页Swift
swift之存储属性和计算属性

swift之存储属性和计算属性

作者: 无极战思 | 来源:发表于2020-10-14 20:34 被阅读0次

    swift中的属性分为类:存储属性和计算属性
    1.存储属性(包含实例存储属性和类型存储属性):把常量或变量的值作为实例的一部分,可以直接读写赋值。变量可用var或者let关键字定义,用var定义的属性为变量存储属性,用let定义的属性为常量存储属性

    2.计算属性:不直接存储值,本身只起计算作用,没有具体的值,提供一个getter来获取值,类似于方法的功能

    class Pet
    {
        var age = 12
        var name = "小花"
        var kind = "法斗"
        //定义计算属性的getter方法,该方法的返回值由age、name、kind三个存储属性决定
        var petInfo:String{
             get {
                    return "this is a pet which name is \(name),age is \(age), kind is      \(kind)"
                 }
             set (newInfo)
               {
               }
             }
     }
       
       //创建一个实例
        let pet = Pet.init()
        print(pet.petInfo)//调用get方法
        //this is a pet which name is 小花,age is 12, kind is 法斗
        pet.petInfo = "this is a pet which name is laoqi,age is 2, kind is taidi"//调用set方法
        print(pet.petInfo)
        //this is a pet which name is laoqi,age is 2, kind is taidi
    

    存储属性和计算属性比较:

    • 计算属性可以用于类、结构体和枚举,存储属性只能用于类和结构体。
    • 存储属性可以是变量存储属性(用关键字 var 定义),也可以是常量存储属性(用关键字let定义),而计算属性只能用var定义
    • 计算属性不直接存储值,而是提供一个 getter 和一个可选的setter,来间接获取和设置其他属性或变量的值

    相关文章

      网友评论

        本文标题:swift之存储属性和计算属性

        本文链接:https://www.haomeiwen.com/subject/nagopktx.html