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
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.
Alternatifleri java için.lang.yansıtır...
Hangi karakter CSS sınıf isimleri/seçi...
Arayüz ve soyut sınıf arasındaki fark ...
Arayüz vs Soyut Sınıf (genel OO)...
Java sınıf yolu içinde birden fazla ka...