SORU
17 Ocak 2011, PAZARTESİ


Çeteleler nedir ve neden yararlıdır?

Bugün bu sitede bazı sorular ile tarama ve böyle bir çözüm içinenum being used in singleton pattern iddia edilen konu hakkında bir güvenlik faydaları bir söz buldum.

Asla enums kullandım ve en fazla birkaç yıl için şimdi Java ile programlama yapıyorum. Ve görünüşe göre çok şey değişti. Şimdi onlar bile tam kendi içinde OOP desteği patladı.

Şimdi neden ve ne için gün programcılığına gün içinde numaralama kullanmalıyım?

CEVAP
17 Ocak 2011, PAZARTESİ


Her zaman bir değişken (özellikle bir yöntemi parametre) tek olası değerler, küçük bir bir alırken çeteleler kullanmalısınız. Örnek türü sabitleri gibi şeyler olurdu (sözleşme durumu: "kalıcı", "", "") çırak, ya da bayraklar ("şimdi", "yürütme") erteleme. yürütmek temp

Eğer tamsayı yerine çeteleler (veya Dize kodları) kullanıyorsanız,-derleme zamanı kontrol etme ve geçersiz sabitler geçen hataları önlemek artırmak ve kullanımı yasal olan belge.

BTW, aşırı çeteleler ölebilir ama senin yöntem de çok (genelde daha iyi için birkaç farklı yöntem yerine tek yöntem bu alır birkaç bayraklar hangi değiştir ne öyle), ama eğer kullanmak zorunda bayrakları veya türü kodları, çeteleler şekilde gidin.

Hangisi daha iyi? bir örnek olarak,

/** Counts number of foobangs.
 * @param type Type of foobangs to count. Can be 1=green foobangs,
 * 2=wrinkled foobangs, 3=sweet foobangs, 0=all types.
 * @return number of foobangs of type
 */
public int countFoobangs(int type)

karşı

/** Types of foobangs. */
public enum FB_TYPE {
 GREEN, WRINKLED, SWEET, 
 /** special type for all types combined */
 ALL;
}

/** Counts number of foobangs.
 * @param type Type of foobangs to count
 * @return number of foobangs of type
 */
public int countFoobangs(FB_TYPE type)

Bir yöntem çağrısı gibi:

int sweetFoobangCount = countFoobangs(3);

o zaman olur:

int sweetFoobangCount = countFoobangs(FB_TYPE.SWEET);

İkinci örnekte, hemen izin verilen açık, dokümanlar ve uygulama olamaz senkronize ve derleyici bu zorlayabilir. Ayrıca, geçersiz bir çağrı gibi

int sweetFoobangCount = countFoobangs(99);

artık mümkün değil.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Abe Olandres

    Abe Olandres

    16 EYLÜL 2006
  • Kat Krazy

    Kat Krazy

    12 Kasım 2010
  • modica89

    modica89

    24 HAZİRAN 2007