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

  • NPR

    NPR

    22 NİSAN 2006
  • Palmundo Ec

    Palmundo Ec

    11 HAZİRAN 2009
  • Thehalopianoplayer

    Thehalopiano

    4 ŞUBAT 2011