Aracılığıyla paylaş


Soyut ve Korumalı Sınıflar ve Sınıf Üyeleri (C# Programlama Kılavuzu)

abstract anahtar sözcüğü, eksik olan ve türetilen bir sınıfta uygulanması gereken sınıflar ve sınıf üyeleri oluşturmanızı sağlar.

sealed anahtar sözcüğü bir sınıfın veya daha önce virtual olarak işaretlenmiş belirli sınıf üyelerinin devralınmasını önlemenizi sağlar.

Soyut Sınıfları ve Sınıf Üyeleri

Sınıflar, sınıf tanımından önce abstract anahtar sözcüğü yerleştirilerek soyut olarak bildirilebilir.Örne?in:

public abstract class A
{
    // Class members here.
}

Bir soyut sınıfı oluşturulamıyor.Soyut bir sınıfın amacı, türetilen birden çok sınıfın paylaşabileceği temel bir sınıfın ortak tanımını sağlamaktır.Örneğin bir sınıf kitaplığı, işlevlerinden birçoğuna bir parametre olarak kullanılacak bir soyut sınıfını tanımlayabilir ve programcıların, bir türetilmiş sınıf oluşturarak o kitaplığı kendi sınıf uygulamalarını sağlamak için kullanmalarını gerektirir.

Soyut Sınıfları ayrıca soyut yöntemlerini de tanımlayabilir.Bu, yöntemin dönüş türünden önce abstract anahtar sözcüğü eklenerek elde edilir.Örne?in:

public abstract class A
{
    public abstract void DoWork(int i);
}

Soyut yöntemlerinin uygulaması yoktur, bu yüzden yöntem tanımının ardından normal yöntem bloğu yerine bir noktalı virgül gelir.Soyut sınıfının türetilmiş sınıfları tüm soyut yöntemlerini uygulamalıdır.Soyut bir sınıf taban bir sınıftan sanal bir yöntemi devraldığında, soyut sınıf sanal yöntemi soyut bir yöntemle geçersiz kılabilir.Örne?in:

// compile with: /target:library 
public class D
{
    public virtual void DoWork(int i)
    {
        // Original implementation.
    }
}

public abstract class E : D
{
    public abstract override void DoWork(int i);
}

public class F : E
{
    public override void DoWork(int i)
    {
        // New implementation.
    }
}

Bir virtual yöntemi abstract olarak bildirildiğinde, hala soyut sınıfından devralan herhangi bir sınıf için sanaldır.Bir soyut yönteminden devralan bir sınıf, yöntemin asıl uygulamasına erişemez; önceki örnekte F sınıfındaki DoWork D sınıfındaki DoWork öğesini çağıramaz.Bu yolla bir soyut sınıfı türetilen sınıfları sanal yöntemler için yeni yöntem uygulamaları sunmaya zorlayabilir.

Korumalı Sınıflar ve Sınıf Üyeleri

Sınıflar, sınıf tanımından önce sealed anahtar sözcüğü yerleştirilerek korunmuş olarak bildirilebilir.Örne?in:

public sealed class D
{
    // Class members here.
}

Bir korumalı sınıf bir taban sınıfı olarak kullanılamaz.Bu nedenle ayrıca bir soyut sınıfı da olamaz.Korumalı sınıflar türetmeyi önler.Bunlar kesinlikle bir taban sınıfı olarak kullanılamayacağından, bazı çalışma zamanı iyileştirmeleri korumalı sınıf üyelerinin çağrılmasını biraz hızlandırabilir.

Taban sınıfının sanal bir üyesinin geçersiz kılan türetilmiş bir sınıf üzerindeki bir yöntem, dizin oluşturucu, özellik ya da etkinlik o üyeyi korumalı olarak bildirebilir.Bu, üyenin daha sonra türetilecek sınıflardaki sanal yönünü ortadan kaldırır.Bu, sınıf üyesinin bildiriminde override anahtar sözcüğünün önüne sealed anahtar sözcüğü konarak elde edilir.Örne?in:

public class D : C
{
    public sealed override void DoWork() { }
}

Ayrıca bkz.

Görevler

Nasıl yapılır: Soyut Özellikleri Tanımlama (C# Programlama Kılavuzu)

Başvuru

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

Devralma (C# Programlama Kılavuzu)

Yöntemler (C# Programlama Kılavuzu)

Alanlar (C# Programlama Kılavuzu)

Kavramlar

C# Programlama Kılavuzu