Aracılığıyla paylaş


Temel anahtar sözcük

base Türetilmiş bir sınıfın içinden temel sınıfın üyelerine erişmek için anahtar sözcüğünü kullanın. Şunu yapmak istiyorsanız kullanın:

  • Temel sınıfta başka bir yöntem tarafından geçersiz kılınan bir yöntemi çağırın.
  • Türetilmiş sınıfın örneklerini oluştururken hangi temel sınıf oluşturucunun çağrılacağını belirtin.

Temel sınıfa yalnızca bir oluşturucuda, bir örnek yönteminde ve bir örnek özellik erişimcisinde erişebilirsiniz. Statik yöntemin içinden anahtar sözcüğünü base kullanmak bir hataya neden olur.

C# dili başvuru belgesi, C# dilinin en son yayımlanan sürümünü gösterir. Ayrıca, yaklaşan dil sürümü için genel önizlemelerdeki özelliklere yönelik ilk belgeleri içerir.

Belgelerde ilk olarak dilin son üç sürümünde veya geçerli genel önizlemelerde sunulan tüm özellikler tanımlanır.

Tavsiye

Bir özelliğin C# dilinde ilk tanıtıldığı zamanları bulmak için C# dil sürümü geçmişi makalesine bakın.

Erişeceğiniz temel sınıf, sınıf bildiriminde belirttiğiniz temel sınıftır. Örneğin, belirtirseniz class ClassB : ClassAClassA'nın temel sınıfı ne olursa olsun ClassA üyelerine ClassB'den erişebilirsiniz.

Bu örnekte hem temel sınıfın Person hem de türetilmiş sınıfın Employee adlı GetInfobir yöntemi vardır. anahtar sözcüğünü base kullanarak, türetilmiş sınıfın içinden temel sınıfın yöntemini çağırabilirsiniz GetInfo .

public class Person
{
    protected string ssn = "444-55-6666";
    protected string name = "John L. Malgraine";

    public virtual void GetInfo()
    {
        Console.WriteLine($"Name: {name}");
        Console.WriteLine($"SSN: {ssn}");
    }
}
class Employee : Person
{
    public readonly string id = "ABC567EFG";
    public override void GetInfo()
    {
        // Calling the base class GetInfo method:
        base.GetInfo();
        Console.WriteLine($"Employee ID: {id}");
    }
}

class TestClass
{
    static void Main()
    {
        Employee E = new Employee();
        E.GetInfo();
    }
}
/*
Output
Name: John L. Malgraine
SSN: 444-55-6666
Employee ID: ABC567EFG
*/

Bu örnek, türetilmiş bir sınıfın örneklerini oluştururken çağrılacak temel sınıf oluşturucunun nasıl belirtileceğini gösterir.

public class BaseClass
{
    private int num;

    public BaseClass() => 
        Console.WriteLine("in BaseClass()");

    public BaseClass(int i)
    {
        num = i;
        Console.WriteLine("in BaseClass(int i)");
    }

    public int GetNum() => num;
}

public class DerivedClass : BaseClass
{
    // This constructor will call BaseClass.BaseClass()
    public DerivedClass() : base() { }

    // This constructor will call BaseClass.BaseClass(int i)
    public DerivedClass(int i) : base(i) { }

    static void Main()
    {
        DerivedClass md = new DerivedClass();
        DerivedClass md1 = new DerivedClass(1);
    }
}
/*
Output:
in BaseClass()
in BaseClass(int i)
*/

Daha fazla örnek için bkz. yeni, sanal ve geçersiz kılma.

C# dil belirtimi

Daha fazla bilgi için bkz. C# Dil Belirtimi. Dil belirtimi, C# söz dizimi ve kullanımı için kesin kaynaktır.

Ayrıca bkz.