swift 類方法

struct Ca {
    var x:Int
    var y: Int;

    //struct 是值類型,全部屬性都是值類型,實例方法改變值類型屬性,須要加mutating
    mutating func inc(x: Int, _ y:Int) -> Int{
        self.x += x
        self.y += y
        return self.x + self.y
    }
}

var ca = Ca(x:12, y: 23)
print(ca.inc(1, 1))



//類 的 靜態方法(類型方法)

class SomeClass {
    static var x = 1;
    var y  = 0;

    //實例方法能夠調用靜態屬性
    func inc(x: Int) {
        SomeClass.x += x
    }

    class func muti(y: Int) {
        x *= y
        //靜態方法不能調用實例屬性
        // self.y = y
    }
}

var some_class = SomeClass()

some_class.inc(2)
//靜態方法只能使用類名來調用
print(SomeClass.x)


SomeClass.muti(2)
print(SomeClass.x)
相關文章
相關標籤/搜索