iPad 開發(fā)與 iPhone 開發(fā)有什么不同?
ipad 和 iphone 搭載的都是 iOS 操作系統(tǒng),它們之間的區(qū)別主要體現(xiàn)在 設(shè)備 和
UI 操作 上。由于 iPad 不具備電話功能,所以相關(guān)的特性如電話、SMS等無法
使用。由于 ipad 和 iphone 的屏幕尺寸差別大,這就決定了兩者的 UI 操作不
同,例如 UIPopoverController、 UISliptViewController 等控件只能在 iPad 中使
用,而不能在 iphone 中使用,此外,iPad 產(chǎn)品開發(fā)中還需針對 iPad 大屏幕考
慮加入多指手勢以增加用戶體驗。
面向?qū)ο蟮娜筇卣魇鞘裁矗?/h5>
面向?qū)ο缶幊趟枷胫饕腥筇卣鳎謩e是:封裝,繼承 和 多態(tài)。封裝 是指把
類中的細(xì)節(jié)進(jìn)行包裝,對外提供定義好的接口。封裝對實現(xiàn)細(xì)節(jié)進(jìn)行隱藏,使
用者需要通過規(guī)定的訪問來訪問數(shù)據(jù),這樣避免了使用者進(jìn)行不合理的賦值操
作。繼承 是使用已存在的類定義作為基礎(chǔ)建立新類的技術(shù),新類的定義可增加
新的數(shù)據(jù)或新的功能,也可以用父類的功能,但不能選擇性的繼承父類。在繼
承中,子類擁有父類非 private 的屬性和方法;子類可以擁有自己的屬性和方
法,即子類可以對父類進(jìn)行擴展;子類可以用自己的方式實現(xiàn)父類的方法。繼
承使得系統(tǒng)在變化中有了延續(xù)性,同時繼承也是封裝過程中可變的因素,通過
繼承還可以縮小代碼量。多態(tài) 是指允許不同的子類類型對同一消息做出不同的
行為。多態(tài)可以大量減少代碼量的同時,提高代碼的維護(hù)性和擴展性。
Objective-C 與 C、C++ 之間的聯(lián)系和區(qū)別是什么?
Objective-C 與 C++ 都是從 C 演化而來的面向?qū)ο笳Z言,兩者都兼容標(biāo)準(zhǔn) C 語
言。Objective-C 與 C++ 的區(qū)別主要有以下幾點:
1. Objective-C 是完全動態(tài)的,而 C++是部分動態(tài)的;
Objective-C 不支持多重繼承, 而 C++ 支持,不過 Objective-C 通過 proxy(代
理) 或 Category(類別)可以更優(yōu)雅地實現(xiàn)這一特性;
2. Objective-C 通過互相傳遞消息實現(xiàn)函數(shù)調(diào)用,而 C++ 直接進(jìn)行函數(shù)調(diào)用;
3. Objective-C 采用 protocol 協(xié)議(非正式和正式)的形式來定義接口,而
C++ -采用虛函數(shù)的形式來定義接口;
4. Objective-C 沒有 C++ 里有的構(gòu)造函數(shù)和析構(gòu)函數(shù), 其對應(yīng)物為 alloc-init/free。
如何理解 Objective-C 為動態(tài)運行時語言?
主要是將數(shù)據(jù)類型的確定由編譯時,推遲到了運行時。簡單來說,運行時機制
使我們直到運行時才去決定一個對象的類別,以及調(diào)用該類別對象指定方法。
Objective-C 中是否支持垃圾回收機制?
Objective-C 是支持垃圾回收機制的,但是在 iOS 中不可用,iOS 開發(fā)只支持手
動內(nèi)存管理和 ARC(Automatic Reference Counting)。
Objective-C 的類可以實現(xiàn)多重繼承嗎?可以采用多個協(xié)議嗎?
Objective-C 的類不可以多重繼承,可以實現(xiàn)多個接口(協(xié)議)。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。