2010-04-27 10 views
17

Bu terimlerin anlamlarını bulmaya çalışıyordum ama özellikle dil engeli nedeniyle ne için kullanıldığını anlamadım. "Özellik" ifadesinin sınıfta değişken (nesne de?) Olduğunu varsayarak, "özellik" yalnızca belirli bir değer döndüren ve yöntemleri içeremeyen bir nesnedir. "Üye" ile sınıf düzeyinde bildirilen herhangi bir nesneyi anlıyorum. . Ancak bunlar, bazı dikkatli programcıların "emlak bölgesi" vb. Kullanıldığı yorumlanmış kod örneklerine dayanan varsayımlarımdır. Birinin bana açıklayabileceğini gerçekten takdir ediyorum.Programlama şartları - saha, üye, properties (C#)

cevap

38

:

alanlar: Bu sınıf düzeyinde bildirilen değişkenlerdir.

public class SomeClass 
{ 
    private int someInteger; // This is a field 
    public double someDouble; // This is another field 
    protected StringBuidler stringBuidler; // Still another field 
} 

özellikleri: Genellikle bir sınıfın özel alana erişimcilerine olarak kullanılan, bunlar alan manipülasyon çevresindeki bazı mantık sarın almak ve set yöntemleri sağlayabilir.

public class SomeClass 
{ 
    private StringBuilder stringBuilder; 

    // Property declaration 
    public StringBuilder StringBuilder 
    { 
     get 
     { 
      if(this.stringBuilder == null) 
       this.stringBuilder = new StringBuidler(); 

      return this.stringBuilder; 
     } 
     set 
     { 
      if(this.stringBuilder == null) 
       this.stringbuilder = value; 
     } 
    } 
} 

üye: alanları, özellikleri, yöntemleri, bir sınıfın olayları içerir.

1

Bu alandaki terminoloji umutsuzca karıştırılır ve dilden dile ve modelden modele çılgınca değişir. Aklında belirli bir dil veya platform var mı? Birinci tahminde için

:

  1. SQL tartışmalar genellikle alanını ve birbirinin sütun kullanın. Field, Java ve C# sınıflarının veri üyeleri için standart terminolojidir.
  2. Üye en sık üye fonksiyonları bir yapı/sınıf tanımının çeşitli üyeleri için böyle devam üye değişkenleri ve, başvurmak için C++ kullanılmaktadır.
+0

Evet, üzgünüz - C#. – Petr

0

Bu terimler differetn dilleri kapsamaktadır ve bu nedenle bunlar çok fazla örtüşmektedir ve bu farklar somut diller hakkında kavramdan çok daha fazladır. Mülk ve alan, sınıflardaki verileri açıklamak için kullanılır, üyeler, sınıflarda veri ve davranış (örneğin yöntemler) olabilir. Ancak C# ve Java'daki özellikler ile alanlar arasında farklılıklar vardır, ancak bu sözdizimsel şekerdir. Prototip tabanlı nesne yönelimli bir dil kullanıyor olsaydınız (sınıf temeline göre), nesnelerin yuvalarından bahsedecekseniz ... Tüm anlamı kavramak istiyorsanız, önce bir dil seçin. C#