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

  • Android Central

    Android Cent

    13 Kasım 2008
  • rtisticsdev

    rtisticsdev

    31 Mayıs 2012
  • Vortez

    Vortez

    27 Temmuz 2009