Swift基础篇——setter和getter的使用

来源:互联网 发布:qq采集软件 编辑:程序博客网 时间:2024/06/14 07:02

setter和getter

import Foundationclass Student:NSObject {// MARK: - 不推荐使用直接写setter和getter这样的方法  /*    var _name: String?    var name: String?        {        set{            _name = newValue        }        get{            return _name        }    }    */// MARK: - 在Swift开发中用以下两个方法代替OC中的重写setter方法    var address: String?        {        willSet{            print("赋值之前\(newValue)")        }        didSet{            print("赋值之后\(oldValue)")        }    }// MARK: - 在Swift中如果只重写了get方法, 那么该属性就是一个只读属性readOnly    var score: Double        {        // 在Swift中如果只重写了get方法, 那么该属性就是一个只读属性readOnly        // 如果一个属性只重写了get方法, 我们也称之为"计算型属性", 计算型属性是不具备存储能力的        //        get{        //            return 99        //        }        // 如果只是想重写一个属性的get方法, 那么可以简写        return 99.0    }// MARK: - Swift中打印对象会调用下面这个属性    override var description: String        {            let proterties = ["address", "score"]            let dict = dictionaryWithValuesForKeys(proterties)            return "\(dict)"    }}

测试类

import UIKitclass ViewController: UIViewController {    override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {        let stu = Student()        stu.address = "深圳"        print(stu.address)        print(stu.score)        print(stu.description)    }}
0 0
原创粉丝点击