關於object c的基本知識

2021-08-27 23:15:31 字數 1464 閱讀 3391

簡介

發展歷史

3關於cocoa

cocoa 是從2023年代由 next 開發的程式設計環境 nextstep 和 openstep 演變而來,這點可由其類別之名皆以 ns 字首(代表nextstep)看出端倪。蘋果電腦公司在2023年12月收購了next。開發 nextstep 和 openstep 的大量工作都轉化到了 mac os x 中,最顯而易見的部分當屬 cocoa。

但差異也存在。例如,nextstep 和 openstep 使用 display postscript 實現文字和圖形的螢幕顯示,而 cocoa 依賴蘋果的 quartz(基於 pdf 的繪圖模型)。

2>在mac os x 10.3中,蘋果引入了nscontroller系列類以提供預定義的控制器層。這些類是cocoa繫結系統的一部分,該系統也允許使用類似鍵-值-觀測器和鍵-值-繫結協議來對其進行擴充套件。其中,「繫結」的概念表明兩個物件(通常是檢視和控制器)之間的關係。繫結使得開發者可以集中於定義這種關係,而不是編寫大量的「膠水**」來實現這些關係。

3>在mac os x 10.4中,蘋果引入了core data框架,進一步擴充套件了這種概念。core data標準化了對更改的追蹤和模型層的儲存行為。因此,該框架大大簡化了改變應用程式資料,撤銷更改,在磁碟中儲存和讀取資料的過程。

通過提供對mvc模型中全部3層的框架支援,蘋果的目的在於減少程式設計師所需編寫的「膠水**」量,以解放這些資源而用於程式的真正特性。

和oc的比較

1, o-c中所有的類都必須繼承自nsobject。

2,o-c中所有物件都是指標的形式。

3,o-c用self代替this。

4,o-c使用id代替void*。

5,o-c使用nil表示null

6,o-c只支援單繼承。

7,o-c使用yes/no表示true/false

8,o-c使用#import代替#include

9,o-c中用訊息表示類的方法,並採用[ainstance method:argv]呼叫形式。

10,o-c支援反射機制

11,o-c支援dynamic typing, dynamic binding和dynamic loading。

與c++的相同之處有:

與c共享的部分一致。

可以使用assert(bool), 一般用nscparameterassert(bool)代替。

o-c中的命名字首說明:

ns-:nextstep

cf-:core foundation

ca-:core animation

cg-:core graphics

ui-:user inte***ce

關於多型的基本知識

package duotai 多型的一些基本知識 在子類和父類裡面有同名函式的時候,假如生成乙個子類的物件,並在子類的物件裡面 呼叫這個函式,那麼到底會是呼叫的是誰的函式呢?1.要有繼承 2.要有重寫 3.父類引用指向子類物件 當你呼叫呼叫父類裡被重寫的方法時,實際當中new的是哪個子類物件就呼叫哪...

關於ssh的基本知識

ssh為secure shell的縮寫,是一種網路安全協議,專為遠端登入會話和其他網路服務提供安全性的協議。生產中,我們經常使用ssh來登入 免密碼登入遠端linux機器。在linux主機node1上,安裝ssh的客戶端,在linux主機node2上,安裝ssh的服務端。那麼下圖可以理解為配置nod...

關於QinQ的基本知識

qinq 802.1q in 802.1q 技術是一項擴充套件vlan空間的技術,通過在802.1q標籤報文的基礎上再增加一層802.1q的tag來達到擴充套件vlan空間的功能,可以使私網vlan透傳公網。由於在骨幹網中傳遞的報文有兩層802.1q tag 一層公網tag,一層私網tag 即802...