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

  • girleffect

    girleffect

    20 Mayıs 2008
  • gsmaestro

    gsmaestro

    17 AĞUSTOS 2006
  • TopDJMag TV

    TopDJMag TV

    29 Temmuz 2010