Aracılığıyla paylaş


Arabirimler (C# Programlama Kılavuzu)

Bir arabirim tanımları bir grup ilgili işlevleri içerir, bir sınıfı veya struct uygulayabilirsiniz.

Arabirimleri kullanarak, örneğin, davranış birden çok kaynaktan bir sınıfta ekleyebilirsiniz.Dil birden çok devralma sınıfların desteklemediği için bu yeteneği C# [NULL]'ta önemlidir.Ayrıca, yapılar, devralma benzetimi yapmak istiyorsanız çünkü bunlar gerçekten başka bir yapı veya sınıf da devralamaz arabirim kullanmanız gerekir.

Bir arabirim kullanarak tanımladığınız arabirim aşağıdaki örnekte gösterildiği gibi anahtar sözcüğü.

interface IEquatable<T>
{
    bool Equals(T obj);
}

Herhangi bir sınıf ya da uygulayan yapı IEquatable arabirim tanımlamasını içermelidir bir Equals arabirimi belirtir imzası uyuşan yöntemi.Sonuç olarak uygulayan bir sınıf saymak IEquatable<T> içerecek şekilde bir Equals yöntemi ile sınıfının bir örneğini belirlemek için aynı sınıfın başka bir örneği eşit olup olmadığını.

Tanımını IEquatable<T> için uygulama sağlamaz Equals.İmza arabirimi tanımlar.Bu yolla, C# [NULL]'ta bir arabirim yöntemleri soyut bir soyut sınıf benzer.Bir sınıf veya yapı birimi birden çok arabirim uygulayabilir ancak, bir sınıfın yalnızca tek bir sınıf, soyut devralır.Bu nedenle, arabirimleri kullanarak, birden çok kaynaktan davranış bir sınıfta içerebilir.

Soyut sınıflar hakkında daha fazla bilgi için bkz: soyut ve mühürlenmiş sınıflar ve sınıf üyelerini.

Arabirimleri, yöntemleri, özellikleri, olayları, dizinleyiciler veya bu dört üye türlerinden herhangi bir bileşimini içerebilir.Örnekler için bağlantılar için bkz: İlgili Bölümler.Bir arabirim, sabitler, alanlar, işleçleri, örnek oluşturucular, yıkıcı veya türleri içeremez.Arabirim üyeleri otomatik olarak ortak ve herhangi bir erişim değiştiricileri dahil edemezsiniz.Üyeler ayrıca olamaz statik.

Bir arabirim üyesi uygulamak için karşılık gelen bir sınıfın üyesi ortak, statik olmayan ve aynı ada ve imzaya arabirim üyesi olması gerekir.

Bir sınıf veya yapı bir arabirim geliştirdiğinde, sınıf veya yapı birimi uygulaması tüm üyelerini arabirimi tanımlayan sağlamalısınız.Arabirim temel sınıf işlevselliği devralabilir biçiminde bir sınıf ya da yapı devralabilir hiçbir işlevsellik sağlar.Ancak, temel bir sınıf bir arabirim uygularsa, bu uygulama temel sınıfından türetilen herhangi bir sınıf devralır.

Aşağıdaki örnek <T> IEquatable uygulamasını gösterir. arabirim.Sınıfın, Car, uygulaması sağlamalısınız Equals yöntem.

public class Car : IEquatable<Car>
{
    public string Make {get; set;}
    public string Model { get; set; }
    public string Year { get; set; }

    // Implementation of IEquatable<T> interface 
    public bool Equals(Car car)
    {
        if (this.Make == car.Make &&
            this.Model == car.Model &&
            this.Year == car.Year)
        {
            return true;
        }
        else 
            return false;
    }
}

Ek erişimciler için bir özellik veya dizin bir arabirimde tanımlanan özellikleri ve bir sınıfın dizinleyiciler tanımlayabilirsiniz.Örneğin, bir arabirim olan bir özellik bildirmek bir Al erişimci.Aynı özelliğiyle arayüzünü uygulayan sınıf bildirebilirsiniz bir get ve olarak erişimci.Ancak, açık uygulaması kullanıyorsa, özellik veya dizin oluşturucusu erişimcileri eşleşmesi gerekir.Açık uygulama hakkında daha fazla bilgi için bkz: Açık Arabirim Uygulaması (C# Programlama Kılavuzu) ve Arabirim Özellikleri (C# Programlama Kılavuzu).

Diğer arabirimler arabirimleri uygulayabilir.Bir sınıf bir arabirim birden çok kez devralır temel sınıflar veya diğer arabirimleri uygulayan arabirimler aracılığıyla içerebilir.Sınıf arabirimi sınıf tanımının parçası olarak bildirirse, ancak, sınıf bir arabirim uygulaması yalnızca bir kez ve yalnızca sağlayabilir (class ClassName : InterfaceName).Arabirimini uygulayan bir temel sınıf devralınan çünkü arabirimi devralmışsa, temel sınıf uygulama arabirim üyeleri sağlar.Ancak, türetilmiş sınıf devralınan uygulaması yerine arabirim üyeleri yeniden uygulamalı.

Bir temel sınıf sanal üyeleri kullanarak arabirim üyeleri de uygulayabilirsiniz.Bu durumda, türetilmiş bir sınıf sanal üyeleri geçersiz kılarak arabirim davranışını değiştirebilirsiniz.Sanal üyeleri hakkında daha fazla bilgi için bkz: çok biçimlilik.

Arabirimler özeti

Bir arabirim aşağıdaki özelliklere sahiptir:

  • Soyut temel sınıfı gibi bir arabirimdir.Herhangi bir sınıf arabirimi kullanan yapı ya da tüm üyelere uygulamalıdır.

  • Doğrudan bir arabirim başlatılamaz.Grubun üyeleri herhangi bir sınıf arabirimi kullanan yapı ya da tarafından uygulanır.

  • Arabirimler olayları, dizinleyiciler, yöntemleri ve özellikleri içerir.

  • Arabirimler hiçbir uygulama yöntemleri içerir.

  • Bir sınıf veya yapı birimi birden çok arabirim uygulayabilir.Bir sınıf, bir temel sınıf devralır ve ayrıca bir veya daha fazla arabirim uygulamak.

Bu Bölümde

İlgili Bölümler

Özel Kitap bölüm

Arabirimler , C# 3.0 öğrenme: C# 3. 0'ın temelleri ana

Ayrıca bkz.

Başvuru

Devralma (C# Programlama Kılavuzu)

Kavramlar

C# Programlama Kılavuzu