天天看点

Swift的静态属性

    面向对象类型       实例存储属性        静态存储属性        实例计算属性        静态计算属性

    类                            支持                        不支持                支持                        支持

    结构体                      支持                        支持                    支持                        支持

    枚举                        不支持                    支持                    支持                            支持

                            实例存储属性        静态存储属性        实例计算属性        静态计算属性

实例计算属性            可以                        可以                        可以                    可以

静态计算属性            不可以                    可以                          不可以                可以

            1、实例计算属性可以访问所有的属性;

            2、静态计算属性只能访问静态属性,不能访问实例属性;

一、结构体的静态属性

    有这样的类设计,有一个account类,假设它有3个属性:amount(账户金额),interestrate(利率)和owner(账户名),在这个类中,amount和owner会因人而异,不同的人这些账户的内容是不同的,而所有账户的interestrate都是相同的。

    amount和owner的属性与账户个体有关,成为实例属性,interestrate属性与个体无关,或者说是所有账户个体共享,这种属性称为静态属性或者类型属性

     3种面向对象类型(结构体,枚举和类)都可以定义为静态属性,它们的语法格式分别如下:

      struct 结构体名 {

            static var(let) 存储属性 = ""

            static var 计算属性值 {

                    get{

                        return 

}

                    set()

二、枚举静态属性

        enum 枚举名 {

            static var(let) 存储属性 = " "

            static var 计算属性:数据类型 {

                get{

                    计算后属性值

                set(新属性值){

三、类静态属性

    class 类名 {

                class var 计算属性名 : 属性数据类型 {

                        get{

                        return 计算后属性值

                        set(新属性值){

                }