太長不讀版
相比帶來的好處牙勘,默認(rèn)參數(shù)帶來的麻煩太多了。個人建議不要使用默認(rèn)參數(shù)铡原。
正文
先看一個簡單的例子:
class A {
func haha(value: Int = 5) {
print(value)
}
}
let a: A = A()
a.haha()
隨便找一個學(xué)習(xí)了一兩天 Swift 的程序員篮奄,都知道這個運(yùn)行結(jié)果是輸出
5
但是如果我們接著寫:
// 寫一個 B 繼承 A
class B: A {
override func haha(value: Int = 10) {
print(value)
}
}
let a: A = B()
a.haha()
這個時候輸出結(jié)果又是什么呢?到底是 5
還是 10
呢穆趴?
如果代碼是:
let b = B()
b.haha()
輸出又是什么呢脸爱?