SORU
14 EKİM 2009, ÇARŞAMBA


Neden alıcıları ve ayarlayıcıları kullanın?

Alıcıları ve ayarlayıcıları kullanmanın avantajı, tek ve set olsun - - sadece bu değişkenler için ortak alanları kullanmak yerine ne?

Eğer alıcı ve ayarlayıcıları her zamankinden çok daha fazlasını yapıyor ise basit/hazır, bu çok hızlı bir şekilde çözebilirim, ama 0 nasıl emin değilim:

public String foo;

daha kötü

private String foo;
public void setFoo(String foo) { this.foo = foo; }
public String getFoo() { return foo; }

Eski klişe daha az kod çok zaman alır oysa.


Liste burada Java web dev açısından bana kazananlar, görünen, üstünde derleme:

  1. Daha sadece bir set daha yapın ve değerini almak gerekir anladığında, bulunanla her dosyayı değiştirmek zorunda değilsin.
  2. Doğrulama burada gerçekleştirebilirsiniz.
  3. Değeri ayarlanan değiştirebilirsiniz.
  4. İç temsil gizleyebilirsiniz. () getAddress aslında sizin için bazı alanlar almak olabilir.
  5. Çarşafın altına değişikliklerden ortak arayüz izole ettik.
  6. Bazı kütüphaneler bu bekliyoruz. Yansıma, seri hale getirme, mock nesneler.
  7. Bu sınıf miras, varsayılan işlevi geçersiz kılabilirsiniz.
  8. Alıcı ve ayarlayıcı için farklı erişim seviyeleri olabilir.
  9. Tembel yükleme.
  10. İnsanlar kolayca Python kullanmadığını söyleyebilir.

CEVAP
14 EKİM 2009, ÇARŞAMBA


Var aslındabir çok sebebi varset kullanmayı düşünündoğrudan bir sınıfın alanları - saklama sadece tartışmasız teşhir ve gelecekteki değişiklikleri daha kolay hale getirmek yerine.

Burada farkındayım bazı sebepler:

  • Davranış saklama alma ya da geç özelliği - bu ek işlevler (doğrulama gibi) daha kolay eklenmesi için izin verir ayarı ile ilgili.
  • Saklanacak bir özelliği, alternatif bir gösterimi kullanarak aydınlatırken özelliği iç gösterimi.
  • Değişim, ortak ınterface - ortak arabirim mevcut tüketiciler etkilemeden uygulama değişiklikleri sırasında sabit kalmasını sağlayan yalıtım.
  • Bu ömür boyu kontrol ve bellek yönetimi (atma) özelliği anlambilim - özellikle önemli olmayan yönetilen bellek ortamları (C veya Objective-C gibi).
  • Bir özellik çalışma zamanında değişiklikler için hata ayıklama kesme noktası belirli bir özellik değeri değiştiğinde hata ayıklama sağlayan bazı dillerde bu olmadan oldukça zor olabilir.
  • Bir özellik alıcı/ayarlayıcı - Alay, Seri hale getirme, ve WPF karşı çalışması için tasarlanmış kitaplıkları ile geliştirilmiş birlikte çalışabilirlik akla geliyor.
  • Varisleri özelliği davranır ve alıcı kılarak nasıl ifşa semantiği değiştirmek için izin ayarlayıcı yöntemleri/.
  • Alıcı/ayarlayıcı izin vermek yerine, değer olarak lambda ifadeleri etrafında geçti.
  • Alıcıları ve ayarlayıcıları olsun ortak olabilir farklı erişim düzeyleri - örneğin izin verebilirsiniz, ama set korumalı olabilir.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • adrianisen

    adrianisen

    25 Kasım 2009
  • Ben Schoon

    Ben Schoon

    23 Kasım 2012
  • infodirt

    infodirt

    11 Mart 2009