默认参数到底该不该用

太长不读版

相比带来的好处,默认参数带来的麻烦太多了。个人建议不要使用默认参数。

正文

先看一个简单的例子:

class A {
  func haha(value: Int = 5) {
    print(value)
  }
}

let a: A = A()
a.haha()

随便找一个学习了一两天 Swift 的程序员,都知道这个运行结果是输出

5

但是如果我们接着写:

// 写一个 B 继承 A
class B: A {
  override func haha(value: Int = 10) {
    print(value)
  }
}

let a: A = B()
a.haha()

这个时候输出结果又是什么呢?到底是 5 还是 10 呢?

如果代码是:

let b = B()
b.haha()

输出又是什么呢?

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,221评论 4 61
  • 转载自:https://github.com/Tim9Liu9/TimLiu-iOS 目录 UI下拉刷新模糊效果A...
    袁俊亮技术博客阅读 14,101评论 9 105
  • 南州城下了两天的雪,对于这里的人们来说,雪还是罕见的。雪花簌簌,漫天飞舞,让城市染上了童话气息。男女老少...
    糖霜汤圆阅读 3,652评论 1 2
  • 今天我也早早来到了会场,今天课程的内容是“三才绝学”。有句话说:人可以不识字,但不可以不识人。讲课的是正道...
    如水的日记阅读 1,638评论 0 0
  • 水蜜桃与水梨。 水蜜桃的温润,水梨的透明,在林清玄笔下发芽生根,我看见了作者笔下的果实栩栩如生,我看见了美从作者笔...
    宋大绵阅读 4,549评论 0 0