SORU
4 Aralık 2009, Cuma


Tam da sözde bir " Sınıf Küme "Objective-C nedir?

NSArray böyle bir şey olduğunu okumuştum. - Bu çok ağır. Ben 7 gerçekten çok kitap var burada, masamın üzerinde yaklaşık Objective-C, Cocoa ve C. Hiçbiri söz Sınıf Küme, en azından ben bulamıyorum bu Dizin arkasında kitaplar. Bu ne o zaman?

CEVAP
17 Mart 2010, ÇARŞAMBA


Steve başvurulan CDP ne olduğunu bilmiyorum ama temel olarak Objective-C Sınıf Küme Factory soyut desen uygulama destekleyen bir şekildir.

fikirbasit: Sağlamak istediğiniz bir Fabrika (Küme) arayüzü, çok az açıklama, üretir ve verir belirli bir somut örnek bir Fabrika Nesnesi tatmin edici bir davranışı küme aile tarafından açıklanan Fabrika (Küme) arayüzü.

Basit somut bir örnek: Bu örnek, belirli bir kahkaha çeşitleri beton sınıfları (örneğin, Kahkahalı, Kıkırdama) üreten bir fabrika Gülmek sağlar. DikkatGülmek initWithLaughter:yöntem.

Gülmek İçinde.h:

#define kLaughWithGuffaw  1
#define kLaughWithGiggle  2

@interface Laugh: NSObject {}
- (Laugh *) initWithLaughter:(NSUInteger) laughterType;
- (void) laugh;
@end

Gülmek İçinde.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

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jabari Johnson

    Jabari Johns

    18 Ocak 2008
  • Neil Cicierega

    Neil Ciciere

    22 Mart 2006
  • Skrillex

    Skrillex

    6 NİSAN 2010