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
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.
Co-değişken y için x dizi dönüşüm zama...
Neden't benim için bu değişiklik ...
Nasıl C mi'#; In çoklu kalıtım eks...
Neden ve nasıl görsel bir çözüm oluştu...
Neden char[] şifreler için Dize Java t...