下標腳本語法和繼承

下標腳本允許你通過在實例后面的方括號中傳入一個或者多個的索引值來對實例進行訪問和賦值。語法類似于實 例方法和計算型屬性的混合

struct TimesTable{

let multiplier: Int

subscript(index:Int) -> Int{

return multiplier * index;

}

}

let? threeTimesTable = TimesTable(multiplier: 3)

print("3的6倍是\(threeTimesTable[6])")

TimesTable例子是基于一個固定的數(shù)學公式。它并不適合對threeTimesTable[6]進行賦值操作,這也是為什么附屬腳本只定義為只讀的原因。

var numberOfLegs = ["spider": 8, "ant": 6, "cat": 4]

numberOfLegs["bird"] = 2

Swift中字典的附屬腳本實現(xiàn)中,在get部分返回值是Int?,上例中numberOfLegs字典通過附屬腳本返回的是一個Int?或者說“可選Int”,不是每一個字典的索引都能得到一個整型值,對于沒有設置過值得索引的訪問返回結(jié)果就是nil;同樣想要從字典實例中刪除某個索引下的值也是需要給這個索引賦值的nil即可。

繼承

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

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

防止重寫

你可以通過方法,屬性或下標腳本標記為final來防止它們被重寫,只需要在聲明關(guān)鍵字前加上final特性即可。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young閱讀 4,194評論 1 10
  • 基礎(chǔ)部分(The Basics) 當推斷浮點數(shù)的類型時,Swift 總是會選擇Double而不是Float。 結(jié)合...
    gamper閱讀 1,493評論 0 7
  • 官方文檔 下標腳本 類,結(jié)構(gòu)體和枚舉可以定義下標腳本,下標腳本可以認為是訪問集合(collection),列表或序...
    hrscy閱讀 300評論 1 1
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,555評論 19 139
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,697評論 18 399

友情鏈接更多精彩內(nèi)容