1.計算屬性不占據(jù)內存,相當于是方法調用
2.子類可以將父類的屬性(存屬,計算)重寫為計算屬性(只能重寫為計算屬性)
3.子類不能將父類屬性重寫為存儲屬性
4.只能重寫var屬性,不能重寫let屬性, 重寫時候,屬性名和類型要一致
5.子類重寫后的屬性權限不能小于父類屬性的權限
例如: 如果父類屬性是只讀的,那么子類重寫后的屬性可以是只讀,也可以是可讀寫的
?如果父類屬性是可讀寫的,那么子類重寫后的屬性也必須是可讀寫的
7.重寫類型屬性
(1)被class修飾的計算類型屬性(存屬類型不能被重寫),可以被子類重寫
(2)被static修飾的類型屬性(存儲她君、計算),不可以被子類重寫
8.屬性觀察器
可以在子類中為父類屬性(可以是計算屬性,也可以是存儲屬性)(除了只讀計算屬性,let屬性)增加屬性觀察器
9.被final修飾的方法,屬性,下表,禁止被重寫
被final修飾的類,禁止被繼承
10.結構體不存在繼承,
11.結構體在編譯時就能確認調用那些方法,類只有在運行時才能確認調用誰的方法
10.swift 中的多態(tài) :?虛函數(shù)表指針 vTable
指向當前對象的實際類型(二次指針間接運算)