美文网首页
Swift 中的存储属性和计算属性

Swift 中的存储属性和计算属性

作者: EngineerPan | 来源:发表于2021-09-18 15:34 被阅读0次
/// 类中如果有非可选属性,需要进行处理;要么声明的时候就直接初始化,要么提供初始化方法来初始化声明的非可选变量
class Animal: NSObject {
    /// 存储属性:值的获取和存储通过自身完成,不依赖其他的变量
    // 名字
    var name: String, // 提供初始化方法进行初始化
        age: Int = 0 // 声明的时候直接初始化
        
    // 可选属性没有初始化默认值是 nil
    var address: String?,
        postCode: Int?
    
    /// 计算属性(读、写):不通过变量自己本身进行值的获取和存储,值的获取和存储依赖其他变量,计算属性需要声明类型,同时,计算属性不能使用 let 关键字
    var virtualAge: Int {
        get {
            return age
        }
        // 可以声明一个变量,也可以不声明变量,使用 `newValue` 代替
        // set (myValue) {
        //    age = myValue * 4
        //}
        set {
              age = newValue * 4
        }
    }
    
    /// 计算属性(只读),计算属性需要声明类型
    var actualAge: Int {
        get {
            return age * 8
        }
    }
    
    /// 计算属性(只读),计算属性需要声明类型
    /// 省略 get
    var virtual: Int {
        return age * 8
    }
    
    /// 计算属性(只读),计算属性需要声明类型
    /// 省略 return
    var actual: Int {
        age * 8
    }
    
    // 初始化方法
    init(_ nameStr: String) {
        self.name = nameStr
    }
}

计算属性跟存储属性的区别:

  1. 计算属性值的获取跟存储不是由自身完成的,需要其他的存储属性。即计算属性本身是不能存储属性的;
  2. 存储属性值的存储通过自身就可以完成;

相关文章

  • OC的@property与Swift的存储属性/计算属性类比

    Swift中的计算属性/存储属性与OC中的@property   Swift中引入了存储属性、计算属性的概念,存储...

  • Swift进阶(三)--- 属性

    Swift的属性 在swift中,属性主要分为以下几种: 存储属性 计算属性 延迟存储属性 类型属性 一:存储属性...

  • Swift 属性与下标

    swift中属性分为静态属性和存储属性,存储属性类似于OC中的数据成员,计算属性不存储数据 存储属性 存储属性适用...

  • Swift:基础(二十)属性

    Swift 属性 Swift 属性将值跟特定的类、结构或枚举关联。 属性可分为存储属性和计算属性: 存储属性和计算...

  • Swift 属性

    Swift 属性 在Swift中属性主要分为存储属性、计算属性、延迟存储属性、类型属性这四种,并且Swift还提供...

  • 浅谈 Swift 中的属性(Property)

    Properties in Swift 前言 Swift 中的属性分为存储属性与计算属性,存储属性即为我们平时常用...

  • 20170612基础知识-属性、下标、方法

    1、Swift中,属性分为存储属性、计算属性。 存储属性:存储数据,常量属性let,变量属性var,适用于类和结构...

  • Swift 计算属性、存储属性

    属性 Swift中的属性分为存储属性(sorted variable)和计算型属性(computed variab...

  • swift之存储属性和计算属性

    swift中的属性分为两类:存储属性和计算属性1.存储属性(包含实例存储属性和类型存储属性):把常量或变量的值作为...

  • Swift5 didSet willSet set get

    属性 Swift 中的属性分为存储型属性(stored variable)和计算型属性(computed vari...

网友评论

      本文标题:Swift 中的存储属性和计算属性

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