赋值取值

classHuman {

    varcarArr = ["玛莎拉蒂","奥迪","宝马","奔驰"]

    // 下标法

    subscript(index:Int)->String{

        set{

            carArr[index] = newValue

        }

        get{

            returncarArr[index]

        }

    }


    varname:String=""  // 默认存储属性/ 读写属性

    varheightM:Double=0.0{//  默认的存储属性/ 读写属性

        willSet{

            print("之前身高:\(heightM)米,现在身高:\(newValue)米")

        }

        didSet{

            print("确实长高了,之前\(oldValue),现在\(heightM)")

        }

    }

    varkind:String{// 只读属性

        get{

            return"哺乳动物"

        }

    }



    varheightCM:Double{// 计算属性

        set{

            heightM/= newValue /100

        }

        get{

            returnheightM*100

        }

    }



    init(name:String) {

        self.name= name

    }

    convenienceinit(name:String,height:Double) {

        self.init(name: name)

        self.heightM= height



    }


}

varh =Human(name:"呵呵", height:1.88)

h.heightM = 1.77

print(h.heightM)

print(h.heightCM)

h.heightCM = 185

//h.kind = "种类"  因为kind 是只读属性,不可以赋值

print(h.carArr[0])

print(h[0])  // 因为提供了下标语法,所以可以直接让对象使用下标0

h[0] = "劳斯莱斯"

print(h[0])

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容