第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在Objective-C中所謂的“類集群”到底是什么?

在Objective-C中所謂的“類集群”到底是什么?

我讀到NSArray就是這樣。聽起來很沉重。我的辦公桌上有7本關(guān)于Objective-C,Cocoa和C的真正好書。它們都根本沒有提到類集群,至少我在書后的索引中找不到它。那是什么
查看完整描述

3 回答

?
動漫人物

TA貢獻(xiàn)1815條經(jīng)驗 獲得超10個贊

從蘋果公司的文檔......。簡而言之,這是Foundation框架中使用的設(shè)計模式,這可能就是為什么ObjC書籍中未提及它的原因。


類集群是一種將公共,抽象超類下的多個私有,具體子類分組的體系結(jié)構(gòu)。以這種方式對類進(jìn)行分組為用戶提供了簡化的界面,該用戶只能看到公開可見的體系結(jié)構(gòu)。


查看完整回答
反對 回復(fù) 2019-10-25
?
Smart貓小萌

TA貢獻(xiàn)1911條經(jīng)驗 獲得超7個贊

我不知道Steve所引用的CDP中有什么內(nèi)容,但基本上,Objective-C類集群是一種支持實現(xiàn)抽象Factory模式的構(gòu)造。


這個想法很簡單:您想要提供一個Factory(集群)接口,該接口以最少的描述即可制造并返回Factory對象的特定具體實例,該實例滿足Factory(集群)接口描述的集群家族的行為。


一個簡單的具體示例:此示例提供了一個Laugh工廠,該工廠產(chǎn)生特定笑聲類型(例如Guffaw,Giggle)的具體類。注意Laugh initWithLaughter:方法。


在Laugh.h中:


#define kLaughWithGuffaw  1

#define kLaughWithGiggle  2


@interface Laugh: NSObject {}

- (Laugh *) initWithLaughter:(NSUInteger) laughterType;

- (void) laugh;

@end

在Laugh.m中:


@interface Guffaws:Laugh {}

- (void) laugh;

@end


@interface Giggles:Laugh {}

- (void) laugh;

@end


@implementation Laugh

- (Laugh *) initWithLaughter:(NSUInteger) laugherType {

    id instanceReturn=nil;

    ; // Removed for ARC [self release]

    if ( laughterType == kLaughWithGuffaw )

        instanceReturn = [[Guffaws alloc]init];

    else if( laughterType == kLaughWithGiggle )

        instanceReturn = [[Giggles alloc]init];

    else

        ; // deal with this

    return instanceReturn;

}


- (void) laugh {

    NSLog(@"Humbug");

}

@end


@implementation Guffaws

    - (void) laugh {

        NSLog(@"OH HA HA HOWAH HA HA HA");

    }

@end


@implementation Giggles

    - (void) laugh {

        NSLog(@"Tee hee");

    }

@end


查看完整回答
反對 回復(fù) 2019-10-25
  • 3 回答
  • 0 關(guān)注
  • 757 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號