swift-final關(guān)鍵字

final

final關(guān)鍵字可以用在 class ,func和var前面進(jìn)行修飾,表示不允許對(duì)內(nèi)容進(jìn)行繼承或者重寫操作。

1.權(quán)限控制

給一段代碼加上final 就意味著你告訴編譯器 這段代碼不會(huì)再被修改。

2.類或者方法的功能確實(shí)已經(jīng)完備了

對(duì)于一些輔助性質(zhì)的工具類或者方法,我們可能會(huì)考慮加上final。這樣的類有一個(gè)比較大的特點(diǎn),是很可能只包含類方法而沒有實(shí)例方法。

例如:我們常用的MD5或者AES加密解密工具類。這種工具類和方法是經(jīng)過完備驗(yàn)證和固定的,使用者只需要調(diào)用,而不會(huì)有集成或者重寫的需求。

3.子類集成和修改是一件危險(xiǎn)的事

例如:在公司的管理系統(tǒng)中我們對(duì)員工按照一定的規(guī)則進(jìn)行編號(hào),這樣通過編號(hào)我們能迅速找到任一員工。假如我們?cè)谧宇愔兄貙懥诉@個(gè)編號(hào)方法,很可能會(huì)導(dǎo)致基類中依賴員工編號(hào)的方法失效。在這種情況下,將編號(hào)方法標(biāo)記為final以確保穩(wěn)定。

4.為了父類中某些代碼一定會(huì)被執(zhí)行

有時(shí)候父類中有一些關(guān)鍵代碼是在被繼承重寫后必須執(zhí)行的(比如狀態(tài)配置,認(rèn)證等),否則將導(dǎo)致運(yùn)行時(shí)候的錯(cuò)誤。

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

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

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