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關鍵字來防止重寫,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VEVB武林網網站的支持!
新聞熱點
疑難解答