swift文件筆記 十一 繼承

2021-08-14 15:48:07 字數 765 閱讀 7173

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

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

1.重寫

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

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

重寫屬性的getters 和setters

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

重寫屬性觀察器

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

2.防止重寫

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

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

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

Swift 學習筆記 繼承

重寫hash方法 class ios nsobject override func viewdidload class human var human human aaa 30 struct size var size size width 20,height 20 enum color init ...

swift文件筆記 十七 協議

協議就是協議裡的屬性方法,在遵循協議的類 結構體 列舉中,必須要有實現。1.協議語法 protocol someprotocol 讀寫 var doesnotneedtobesettable int 唯讀,但實際實現中可以是讀寫 2.構造器要求 你可以在遵循協議的類中實現構造器,無論是作為指定構造器...

swift學習筆記之繼承

繼承1防止 冗餘2擴充套件功能 1繼承的定義 2繼承屬性 3子類不僅可以繼承父類的屬性,還可以繼承在屬性中的新增的屬性監視器 class stepcounter didset old class stepcounter stepcounter let counter stepcounter coun...