欢迎访问移动开发之家(rcyd.net),关注移动开发教程。移动开发之家  移动开发问答|  每日更新
页面位置 : > > > 内容正文

Swift用final关键字来防止重写,swiftfinal

来源: 开发者 投稿于  被查看 33695 次 评论:77

Swift用final关键字来防止重写,swiftfinal


final关键字在大多数的编程语言中都存在,表示不允许对其修饰的内容进行继承或者重新操作。Swift中,final关键字可以在class、func和var前修饰。

通常大家都认为使用final可以更好地对代码进行版本控制,发挥更佳的性能,同时使代码更安全。下面通过实例代码给大家介绍swift用final关键字来防止重写。

 /**
   用final关键字来防止重写
   final,最后的,最终的;决定性的;不可更改的
   final 修饰类的话,表示这个类不可以被继承。
   如果修饰属性或者方法,表示相应的属性或者方法不能被重写。
   */
  class Observer {
//   final 加上
    var storeProperty: Int = 0 {
    willSet {
     print("storeProperty father will Set")
    }
    didSet {
     print("storeProperty father did Set")
    }
   }
   // final
   // 不能给计算属性设定属性观察器
    var computeProperty: Int {
    get {
     return 0
    }
    set {
     print("Do nothing!")
    }
   }
   //final
   func dodododTest() -> Void {
    print("dadadadadaddadaad")
   }
  }
  class ChildOfObserver: Observer {
   // 可以重写父类中变量存储属性
   override var storeProperty: Int {
    willSet {
     print("storeProperty will Set")
    }
    didSet {
     print("storeProperty did Set")
    }
   }
   // 可以重写父类中的计算属性的属性观察器
   override var computeProperty: Int {
    willSet {
     print("computeProperty will Set")
    }
    didSet {
     print("computeProperty did Set")
    }
   }
   override func dodododTest() {
   }
  }
  let co = ChildOfObserver.init()
  co.storeProperty = 10

以上所述是小编给大家介绍的Swift用final关键字来防止重写,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对帮客之家网站的支持!

用户评论