swift

Swift 中的实例方法

2015-03-09  本文已影响263人  小伟伟

英文好的看这里 ==>Swift 柯里化
嘿嘿,利用Swift的特性

class 银行账户{
    var 总金额: Double = 0.0
    func 存钱(金额:Double){
        总金额 += 金额
    }
    func 余额() {
        print(总金额)
    }
}

这样就声明了一个名为银行账户的类,这个类有两个函数,分别为存钱输出余额

随后,我们弄出一个银行账户的实例。

var 账户实例 = 银行账户()
账户实例.存钱(100)
账户实例.余额()

playground中可以实时看到执行结果,如下图

Code 1

到这一步,一切都很顺利。
然后

var depositor = 银行账户.存钱
depositor(账户实例)(100)

账户实例.余额()

执行结果如下 :

Code 2

发现了么,这两段是等价的。

在后一段中,我们给变量depositor赋值的是一个函数,就像C语言中的指向函数的指针类似的意思。Swift中的实例的方法==类的方法,并且这个方法以实例作为参数,并且将函数返回,这个函数还能应用在该实例上。

所以

银行账户.存钱(账户实例)(100)

这个就不难理解了。执行结果就是给账户实例再存100

Code 3
上一篇下一篇

猜你喜欢

热点阅读