Cocoa基本原理指南之七 類簇

2021-06-16 05:52:13 字數 587 閱讀 3824

類簇類簇是foundation框架中廣泛使用的設計模式。類簇將一些私有的、具體的子類組合在乙個公共的、抽象的超類下面,以這種方法來組織類可以簡化乙個物件導向框架的公開架構,而又不減少功能的豐富性。類簇基於抽象工廠設計模式。

類簇架構代表乙個反映簡單概念的設計。

類簇中的抽象超類必須宣告建立其私有子類的方法。根據呼叫的建立方法分配正確型別的物件是超類的責任。在foundation框架中,通常通過呼叫+ classname...或alloc...和init...方法來建立物件。以foundation框架的nsnumber類為例,可以傳送如下的訊息來建立數字物件:

nsnumber *achar = [nsnumber numberwithchar:』a』];

nsnumber *anint = [nsnumber numberwithint:1];

nsnumber *afloat = [nsnumber numberwithfloat:1.0];

nsnumber *adouble = [nsnumber numberwithdouble:1.0];

Cocoa基本原理指南之六 內省

內省是物件揭示自己作為乙個執行時物件的詳細資訊的一種能力。這些詳細資訊包括物件在繼承樹上的位置,物件是否遵循特定的協議,以及是否可以響應特定的訊息。nsobject協議和類定義了很多內省方法,用於查詢執行時資訊,以便根據物件的特徵進行識別。明智地使用內省可以使物件導向的程式更加高效和強壯。它有助於避...

Cocoa基本原理指南之五 物件的建立

cocoa物件的建立總是分成兩個階段 物件分配和初始化。cocoa會從應用程式的虛存區中為物件分配足夠的記憶體。在計算需要分配多少記憶體時,cocoa會考慮物件的例項變數,包括它們的型別和順序,這些資訊由物件的類來定義。為了進行物件分配,您需要向物件的類傳送alloc或allocwithzone 訊...

Cocoa基本原理指南之五 物件的建立

cocoa物件的建立總是分成兩個階段 物件分配和初始化。cocoa會從應用程式的虛存區中為物件分配足夠的記憶體。在計算需要分配多少記憶體時,cocoa會考慮物件的例項變數,包括它們的型別和順序,這些資訊由物件的類來定義。為了進行物件分配,您需要向物件的類傳送alloc或allocwithzone 訊...