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

  • cekehechu

    cekehechu

    20 HAZİRAN 2006
  • Engadget

    Engadget

    18 EYLÜL 2006
  • Floortile83

    Floortile83

    16 Ocak 2010