1. 程式人生 > >swift解構函式

swift解構函式

class Person {
    
    func run() {
        
        print("1234")
    }
}

let per = Person()
per.run()

class Teacher: Person {
    
    func teach() {
        
        print("32456")
        
        super.run()
    }
}

let tea = Teacher()
tea.teach()

class Student: Person {
    
    var name:String = "小明"{
        
        willSet(new){
            
            print("新的名字:\(new)")
        }
        didSet{
            print("舊的名字:\(oldValue)")
        }
    }
    
    override func run() {
        print("567")
    }
    
    var height:String{
        
        return "175cm"
    }
    
    lazy var age:String = "18歲"
    
    init(name:String,age:String) {
        
        super.init()
        
        self.name = name
        self.age = age
    }
    
   public func show() {
        
        print("姓名:\(name),年齡:\(age),身高:\(height)")
    }
    
    deinit {
        self.name = ""
        self.age = ""
        print("呼叫了解構函式")
    }
    
}

var stu:Student? = Student(name: "小王", age: "20歲")
stu!.name = "小剛"
//stu.name = "小王"
stu!.run()
print(stu!.height)
stu!.show()

stu = nil