SORU
23 EYLÜL 2008, Salı


Neden't ben onları kavramak için görünmüyor olabilir?arayüzleri:

Biri benim için açıklığa arabirimleri lütfen ya bazı iyi örnekler bana gelin. Arayüzleri orada burada açılan görüp duruyorum ama hiç gerçekten onları kullanmak için zaman arabirimleri iyi açıklamalar veya maruz değil mi?

Arayüzleri vs soyut sınıflar bağlamında arabirimleri bahsediyorum

CEVAP
23 EYLÜL 2008, Salı


Arayüzler program için "" daha gevşek bir yazılım yardımcı elemanlar sağlayan bir tür, yerine. açıklama karşı izin

Şöyle düşün: flash sopa ve kopyala/yapıştır. Çek biriyle paylaşmak verilere küp yanında istiyorsun, Kapı ve adam "USB?" ve " evet - her şey hazır. diyor sonraki yürümek Flaş sopa boyutu önemli değil, ne de yapımcısı - önemli olan USB.

Aynı şekilde, arayüzler geliştirme generisize için izin verir. Başka bir benzetme kullanarak, neredeyse araba boyalı bir uygulama oluşturmak istediğinizi düşünün. Böyle bir imza olabilir:

public void Paint(Car car, System.Drawing.Color color)...

Bu müvekkilin "şimdi kamyonlar" bu yüzden bunu yapabilirsiniz: . boyamak istiyorum diyene kadar işe yarayacağını

public void Paint (Vehicle vehicle, System.Drawing.Color color)...

bu müvekkilin "şimdi evleri boyamak istiyorum!" diyene kadar app genişletmek... En başından beri yaptığın şeyi bir arayüz oluşturulur:

public interface IPaintable{
   void Paint(System.Drawing.Color color);
}

...ve geçti rutin için:

public void Paint(IPaintable item, System.Drawing.Color color){
   item.Paint(color);
}

Umarım bu mantıklı - çok basit bir açıklama oldu ama umarım onu kalbine alır.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • discokatze

    discokatze

    23 EYLÜL 2009
  • inovationgmbh

    inovationgmb

    28 EYLÜL 2010
  • The Weavers of Eternity Paracord Tutorials

    The Weavers

    1 Ocak 2014