SORU
23 HAZİRAN 2009, Salı


Objective C içinde soyut bir sınıf oluşturma

Aslında şimdi Objective-C soyut bir sınıf oluşturmak istiyorum ile çalışan ama Objective-C bu mümkün olası görünmüyor bir Java programcısı değilim?

Ne kadar soyut bir sınıf için Objective-C alabilir miyim?

CEVAP
23 HAZİRAN 2009, Salı


Genellikle, Objective-C sınıfı kongre tarafından soyut, sadece—eğer yazar belgeleri bir sınıf gibi soyut, sadece sınıflara olmadan kullanmayın. -Derleme soyut bir sınıf örnekleme engelleyen uygulama, ancak yok. Aslında, bir kategori üzerinden soyut yöntemler (çalışma zamanında yani) uygulamaları sağlayan bir kullanıcı durdurmak için hiçbir şey yoktur. Bir kullanıcı en azından soyut bir sınıf içinde bu yöntem uygulamada bir özel durum oluşturarak belirli yöntemleri geçersiz kılmak için zorlayabilir:

[NSException raise:NSInternalInconsistencyException 
            format:@"You must override %@ in a subclass", NSStringFromSelector(_cmd)];

Eğer metot bir değer döndürürse, biraz daha kolay bir kullanımı var

@throw [NSException exceptionWithName:NSInternalInconsistencyException
                               reason:[NSString stringWithFormat:@"You must override %@ in a subclass", NSStringFromSelector(_cmd)]
                             userInfo:nil];

sonra yöntemi döndürür bir açıklama eklemenize gerek yok.

Eğer soyut bir sınıf gerçekten bir arabirim (örneğin, beton yöntemi vardır uygulamaları), kullanarak Objective-C protokol daha uygun bir seçenektir.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ludique

    Ludique

    21 NİSAN 2009
  • RealPapaPit

    RealPapaPit

    16 Mart 2009
  • WK

    WK

    9 Ocak 2006