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

  • Caroline Saquet

    Caroline Saq

    1 EKİM 2011
  • MndsgnVEVO

    MndsgnVEVO

    26 Kasım 2013
  • Smith Micro Graphics

    Smith Micro

    15 Mayıs 2008