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

  • 2ndfloor91

    2ndfloor91

    17 Kasım 2007
  • InfinityWard

    InfinityWard

    19 EYLÜL 2006
  • kruno j

    kruno j

    6 Mayıs 2007