1. 程式人生 > >swift文件筆記(十一) -- 繼承

swift文件筆記(十一) -- 繼承

一個類可以繼承另一個類的方法,屬性和其它特性。當一個類繼承其它類時,繼承類叫子類,被繼承類叫超類(或父類)。

不繼承於其它類的類,稱之為基類。 Swift 中的類並不是從一個通用的基類繼承而來。如果你不為你定義的類指定一個超類的話,這個類就自動成為基類。

1.重寫

子類可以為繼承來的例項方法,類方法,例項屬性,或下標提供自己定製的實現。我們把這種行為叫重寫。

如果要重寫某個特性,你需要在重寫定義的前面加上override關鍵字。

重寫屬性的 Getters Setters
你可以提供定製的 getter(或 setter)來重寫任意繼承來的屬性,無論繼承來的屬性是儲存型的還是計算型的屬性。

重寫屬性觀察器

你可以通過重寫屬性為一個繼承來的屬性新增屬性觀察器。這樣一來,當繼承來的屬性值發生改變時,你就會被通知到,無論那個屬性原本是如何實現的。


2.防止重寫

在宣告關鍵字前加上final修飾符即可防止它們被重寫

(例如: final varfinal funcfinal class func,以及final subscript)。 

你可以通過在關鍵字class前新增修飾符(final class)來將整個類標記為 final 的。這樣的類是不可被繼承的,試圖繼承這樣的類會導致編譯報錯。