9.以“類簇”實(shí)現(xiàn)隱藏細(xì)節(jié)

工廠模式

1.抽象基類

typedef NS_ENUM(NSUInteger, EOCEmployeeType) {
    EOCEmployeeTypeDeveloper,
    EOCEmployeeTypeDesigner,
    EOCEmployeeTypeFinance,
};

@interface EOCEmployee : NSObject
@property (nonatomic, copy) NSString *name;
@property (nonatomic, assign) NSUInteger salary;

- (instancetype)init NS_UNAVAILABLE;
+ (instancetype)employeeWithType:(EOCEmployeeType)type;

- (void)doADaysWork;

@end

@implementation EOCEmployee

+ (instancetype)employeeWithType:(EOCEmployeeType)type {
    switch (type) {
        case EOCEmployeeTypeDeveloper: {
            return [EOCEmployeeDeveloper new];
        } break;
            
        case EOCEmployeeTypeDesigner: {
            return [EOCEmployeeDesigner new];
        } break;
            
        case EOCEmployeeTypeFinance: {
            return [EOCEmployeeFinance new];
        } break;
    }
}

@end

2.每個(gè)實(shí)體子類實(shí)現(xiàn)

@interface EOCEmployeeDeveloper : EOCEmployee

@end

@implementation EOCEmployeeDeveloper

- (void)doADaysWork {
    [self writeCode];
}

- (void)writeCode {

}

@end
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類相關(guān)的語(yǔ)法,內(nèi)部類的語(yǔ)法,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法,線程的語(yǔ)...
    子非魚(yú)_t_閱讀 34,638評(píng)論 18 399
  • 一、設(shè)計(jì)模式的分類 總體來(lái)說(shuō)設(shè)計(jì)模式分為三大類: 創(chuàng)建型模式,共五種:工廠方法模式、抽象工廠模式、單例模式、建造者...
    lichengjin閱讀 989評(píng)論 0 8
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,917評(píng)論 25 709
  • 今天偶然發(fā)現(xiàn)簡(jiǎn)書(shū),我覺(jué)得這里將作為我的內(nèi)心獨(dú)白之地
    春花的世界閱讀 144評(píng)論 0 0
  • 叢林沒(méi)有鞋子 山丘易怒搖晃草木 獵人看著長(zhǎng)頸鹿 閉上眼想一個(gè)世紀(jì) 素 長(zhǎng)頸鹿對(duì)著獵人鼻翼開(kāi)槍 潰散的紅色鼻涕養(yǎng)活了...
    陸丘禾閱讀 220評(píng)論 0 0

友情鏈接更多精彩內(nèi)容