本系列指在用通俗易懂的語(yǔ)言來(lái)講解iOS的底層原理知識(shí)及通用編程知識(shí),為想深入Codeing的同學(xué)打開(kāi)一扇窗, 在這系列文章中,你可能會(huì)發(fā)現(xiàn), 沒(méi)...
Q 為什么不推薦使用繼承?A 繼承是面向?qū)ο蟮乃拇筇匦灾? 用來(lái)表示類之間的 is-a 關(guān)系, 可以解決代碼復(fù)用的問(wèn)題. 雖然繼承有諸多作用,...
基于接口而非實(shí)現(xiàn)編程這條原則的另一個(gè)表述方式是"基于抽象而非實(shí)現(xiàn)編程". 后者表述的方式其實(shí)更能體現(xiàn)這條原則的設(shè)計(jì)初衷, 我們做軟件開(kāi)發(fā)的時(shí)候一...
Q 抽象類和接口的語(yǔ)法特性?抽象類不允許被實(shí)例化, 只能被繼承, 他可以包含屬性(實(shí)例變量)和方法. 方法既可以包含代碼實(shí)現(xiàn)也可以不包含代碼實(shí)現(xiàn)...
三種違反面向?qū)ο箫L(fēng)格的典型代碼設(shè)計(jì) 濫用setter, getter方法在設(shè)計(jì)實(shí)現(xiàn)類的時(shí)候, 除非真的需要,否則盡量不要給屬性定義setter方...
Q 什么是面向過(guò)程編程? 什么是面向過(guò)程編程語(yǔ)言?A 實(shí)際上 這個(gè)問(wèn)題沒(méi)有嚴(yán)格的官方定義, 理解這兩個(gè)概念最好的方式是跟面向?qū)ο缶幊毯兔嫦驅(qū)ο缶?..
Q 什么是封裝?A 封裝也在做信息隱藏或者數(shù)據(jù)保護(hù),類通過(guò)暴露有限的訪問(wèn)接口,授權(quán)外部進(jìn)行通過(guò)類提供的方式來(lái)訪問(wèn)內(nèi)部信息或者數(shù)據(jù). 他需要編程語(yǔ)...
Q 為什么要學(xué)習(xí)設(shè)計(jì)模式?A 應(yīng)對(duì)面試中的設(shè)計(jì)模式相關(guān)問(wèn)題 防止被別人吐槽代碼寫的爛 提高復(fù)雜代碼的設(shè)計(jì)和開(kāi)發(fā)能力(為了讓別人看不懂) 讀源碼,...