SORU
22 Ocak 2010, Cuma


Neden'içeren t C# arabirimleri alanlar?

Örneğin, ICar Bir Arayüz istiyorum ve tüm uygulamaları alanı içerir varsayalım Year. Bu her uygulama ayrı ayrı Year bildirmek zorunda olduğu anlamına mı geliyor? Sadece arayüzü bu tanımlamak için daha iyi olmaz mı?

CEVAP
22 Ocak 2010, Cuma


Diğer cevapların çoğunu anlamsal düzeyde doğru olsa da, ilginç bir de uygulama ayrıntıları seviyesinden sorular bu tür bir yaklaşım buluyorum.

Bir arabirim bir koleksiyon olarak düşünülebiliryuvalarıiçeren ., ^em>yöntemleri. Bir sınıf bir arabirim uygulayan, sınıf, gerekli tüm yuvaları doldurmak için nasıl bir çalışma zamanı anlatmak için gereklidir. Derken

interface IFoo { void M(); } 
class Foo : IFoo { public void M() { ... } }

sınıfı "bana bir örneğini oluşturduğunuzda, Foo başvurusu şeyler söylüyor.İFoo için yuvaya M.M.

Bir arama yaptığınızda o zaman:

IFoo ifoo = new Foo();
ifoo.M();

derleyici "yöntemi İFoo için.yuvasına ne nesne sor diyor kod oluşturur M, ve bu yöntemi çağırın.

Eğer bir arayüz bir toplama yuvası içeren yöntemler, daha sonra bazı bu yuva da içeren get ve set yöntemleri bir özellik, get ve set yöntemleri bir dizin, Ekle ve kaldır yöntemleri bir olay. Amabir alana bir yöntem değildir. "Sonra "" alanı için referans bir konuma sahip. bilgilendirebilirsin bir alan ile ilgili "yuvası yok Ve bu nedenle, arabirimleri, yöntemleri, özellikleri, dizin oluşturucular ve olaylar, ancak alanları tanımlayabilirsiniz.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • lilstevie89

    lilstevie89

    25 Mart 2011
  • MrRandomSong

    MrRandomSong

    29 Kasım 2009
  • Strata1000

    Strata1000

    28 EYLÜL 2009