Aracılığıyla paylaş


Nasıl yapılır: bildirmek ve okuma/yazma özellikleri (C# Programlama Kılavuzu) kullanmak.

Özellikleri korunmayan, denetlenmeyen ve doğrulanmamış erişimi olan bir nesnenin veri gelen risk olmadan ortak veri üyeleri kolaylık sağlar.Bu aracılığıyla gerçekleştirilir erişimcileri: atamak ve alttaki veri üyeden deerleri özel yöntemler.Ayarlamak erişimci atanmak üzere veri üyeleri sağlar ve Al erişimci veri üyesi değerleri alır.

Bu örnek gösteren bir Person iki özelliği vardır sınıfı: Name (dize) ve Age (int).Her iki özellikleri sağlayan get ve set kabul edilen şekilde erişimcileri okuma/yazma özellikleri.

Örnek

class Person
{
    private string name = "N/tcA";
    private int age = 0;

    // Declare a Name property of type string:
    public string Name
    {
        get
        {
            return name;
        }
        set
        {
            name = value;
        }
    }

    // Declare an Age property of type int:
    public int Age
    {
        get
        {
            return age;
        }

        set
        {
            age = value;
        }
    }

    public override string ToString()
    {
        return "Name = " + Name + ", Age = " + Age;
    }
}

class TestPerson
{
    static void Main()
    {
        // Create a new Person object:
        Person person = new Person();

        // Print out the name and the age associated with the person:
        Console.WriteLine("Person details - {0}", person);

        // Set some values on the person object:
        person.Name = "Joe";
        person.Age = 99;
        Console.WriteLine("Person details - {0}", person);

        // Increment the Age property:
        person.Age += 1;
        Console.WriteLine("Person details - {0}", person);

        // Keep the console window open in debug mode.
        Console.WriteLine("Press any key to exit.");
        Console.ReadKey();
    }
}
/* Output:
    Person details - Name = N/tcA, Age = 0
    Person details - Name = Joe, Age = 99
    Person details - Name = Joe, Age = 100
*/

Güçlü Programlama

Önceki örnekte, Name ve Age özellikleri, ortak ve her ikisini de içeren bir get ve bir set erişimci.Böylece, bu özellikleri okuyup herhangi bir nesne.Bu bazen ancak erişimcileri birine çıkarmak olduğu.Atlama set erişimci, salt okunur özellik gibi yapar:

public string Name
{
    get
    {
        return name;
    }
}

Alternatif olarak, genel olarak bir erişimci açığa çıkaran ancak diğer özel veya korumalı.Daha fazla bilgi için bkz: Asimetrik erişeninin erişilebilirlik.

Özellikleri bildirilen sonra sınıf alanlar yokmuş gibi kullanılabilirler.Bu hem alma hem de aşağıdaki ifadeleri gibi bir özelliğin değerini ayarlamak çok doğal bir sözdizimi sağlar:

person.Name = "Joe";
person.Age = 99;

Bir özelliğe dikkat set özel bir yöntem value değişkeni kullanılabilir.Bu değişkene kullanıcı belirtilen, örneğin değer içerir:

name = value;

Artan temiz sözdizimi dikkat edin Age özellikte bir Person nesne:

person.Age += 1;

Ayrı, set ve get özellikleri modellemek için kullanılan yöntemler, eşdeğeri olan kodu aşağıdaki gibi görünebilir:

person.SetAge(person.GetAge() + 1); 

ToString Yöntemi geçersiz kılınıyor Bu örnekte:

public override string ToString()
{
    return "Name = " + Name + ", Age = " + Age;
}

Dikkat ToString programda açıkça kullanılmaz.Varsayılan değer çağrılan WriteLine çağrıları.

Ayrıca bkz.

Başvuru

Özellikler (C# Programlama Kılavuzu)

Sınıflar ve yapılar (C# Programlama Kılavuzu)

Kavramlar

C# Programlama Kılavuzu