swift文件筆記(十一) -- 繼承
阿新 • • 發佈:2019-01-05
一個類可以繼承另一個類的方法,屬性和其它特性。當一個類繼承其它類時,繼承類叫子類,被繼承類叫超類(或父類)。
不繼承於其它類的類,稱之為基類。 Swift 中的類並不是從一個通用的基類繼承而來。如果你不為你定義的類指定一個超類的話,這個類就自動成為基類。
1.重寫
子類可以為繼承來的例項方法,類方法,例項屬性,或下標提供自己定製的實現。我們把這種行為叫重寫。
如果要重寫某個特性,你需要在重寫定義的前面加上override關鍵字。
重寫屬性的 Getters
和 Setters
你可以提供定製的 getter(或 setter)來重寫任意繼承來的屬性,無論繼承來的屬性是儲存型的還是計算型的屬性。
重寫屬性觀察器
你可以通過重寫屬性為一個繼承來的屬性新增屬性觀察器。這樣一來,當繼承來的屬性值發生改變時,你就會被通知到,無論那個屬性原本是如何實現的。
2.防止重寫
在宣告關鍵字前加上final修飾符即可防止它們被重寫
(例如: final var,final func,final class func,以及final subscript)。
你可以通過在關鍵字class前新增修飾符(final class)來將整個類標記為 final 的。這樣的類是不可被繼承的,試圖繼承這樣的類會導致編譯報錯。