Swift 入門指南 V1.00 - 單元 11 範例




CH11.playground


class ClassDemo {
    var a: Int
    let b: Int
    
    // 建構子
    init() {
        a = 2
        b = 10
    }
    
    // doSomething() 的第一個版本
    func doSomething() -> Int {
        return a + b
    }
    
    // doSomething() 的第二個版本
    func doSomething(a: Int, b: Int) -> Int {
        return a + b
    }
}

var demo1 = ClassDemo()
demo1.doSomething()
demo1.doSomething(12, b: 34)

class ClassDemo2 {
    var t: Double
    // 攝氏的建構子版本
    init(fromCelsius c: Double) {
        t = c
    }
    // 華氏的建構子版本
    init(fromFahrenheit f: Double) {
        t = (f - 32.0) / 1.8
    }
}

let demo2 = ClassDemo2(fromCelsius: 15.0)
demo2.t
let demo3 = ClassDemo2(fromFahrenheit: 180.5)
demo3.t

class ClassDemo3 {
    var a: Int
    
    init() {
        a = 22
    }
    
    // 解構子
    deinit {
        a = 0
    }
}

var demo4: ClassDemo3? = ClassDemo3()
demo4?.a
demo4 = nil
demo4?.a

the end

沒有留言: