1. Anasayfa
  2. Nesne Tabanlı Programlama

Visual Studio C# Dersleri – C# Arayüz Interface Tanımlama ve Kullanımı


1

Arayüzler (Interfaces)

  • Özet sınıfların benzeri olan bir yapı da arayüzlerdir (interface), diğer sınıflar için ara yüz görevini üstlenir.
  • Bütün metotları ve özellikleri özet olarak bildirilmiş sınıflardan çok fazla bir farkı yoktur. Dolayısıyla arayüzlerdeki metot ve özelliklerin gövdesi yazılamaz.
  • Arayüzler kısaca kendisini uygulayan sınıfların kesin olarak içereceği özellikleri ve metotları belirler.
  • Arayüzler, interface anahtar sözcüğü ile bildirilirler. Bir arayüzde özellik, metot, indeksleyici (indexer), temsilci (delegate) ve olay (event) bildirimi yapılabilir. Arayüz tanımlamalarının zorunlu olmasa da başına “I” harfinin eklenmesi tanımlamanın arayüz olduğunun kolayca anlaşılmasını sağlar

Arayüz kullanımı ve uygulaması için aşağıdaki örneği inceleyebilirsiniz.
Program.cs

using System;

class Exercise
{
    static void Main()
    {
        TopOyunlari voleybol = new TopOyunlari(6, SporKategori.CokOyuncu, "voleybol");
        voleybol.uzunluk = 18;
        voleybol.genislik = 9;
        voleybol.SporOzellikleri();

        Console.WriteLine();

        TopOyunlari tenis = new TopOyunlari(1, SporKategori.IkiOyuncu, "Tenis");
        tenis.uzunluk = 23.7;
        tenis.genislik = 8.25;
        tenis.SporOzellikleri();

        Console.WriteLine();
        Console.ReadKey();
    }
}

Hazirlik.cs

public enum SporKategori
{
    IkiOyuncu,
    CokOyuncu,
    Bilinmeyen
}

public interface ISahaBoyut
{
    double uzunluk { get; set; }
    double genislik { get; set; }
}

public interface ITop
{
    int OyuncuSayisi
    {
        get;
        set;
    }

    string SporIsmi
    {
        get;
    }

    void SporOzellikleri();
}

public interface ISporTuru : ITop, ISahaBoyut
{
    SporKategori Type
    {
        get;
    }
}

Spor.cs

using System;

public class TopOyunlari : ISporTuru
{
    int oyuncu;
    string spor;
    SporKategori _type;
    double uzun;
    double genis;

    public TopOyunlari(int nbr, SporKategori tp, string name)
    {
        oyuncu = nbr;
        _type = tp;
        spor = name;
    }

    public int OyuncuSayisi
    {
        get { return oyuncu; }
        set { oyuncu = value; }
    }

    public string SporIsmi
    {
        get { return spor; }
    }

    public SporKategori Type
    {
        get { return _type; }
    }

    public double uzunluk
    {
        get { return uzun; }
        set { uzun = value; }
    }

    public double genislik
    {
        get { return genis; }
        set { genis = value; }
    }

    public void SporOzellikleri()
    {
        Console.WriteLine("Spor Özellikleri");
        Console.WriteLine("Spor İsmi: {0}", SporIsmi);
        Console.WriteLine("Spor Türü: {0}", Type);
        Console.WriteLine("Oyuncu Sayısı:  {0}", OyuncuSayisi);
        Console.WriteLine("Saha Boyu: {0}m x {1}m", uzun, genis);
    }
}
Bu İçeriğe Tepkin Ne Oldu?
  • 3
    ba_ar_l_
    Başarılı
  • 1
    gayet_yi
    Gayet İyi
  • 0
    te_ekk_rler
    Teşekkürler
  • 0
    anlamad_m
    Anlamadım
  • 0
    yetersiz
    Yetersiz
Subscribe
Bildir
guest

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.

1 Yorum
Inline Feedbacks
View all comments
Yusuf

teşekkürler.