CodeBlanks Logo Icon CodeBlanks

interface tanımlama

C# kursu · Orta seviye · Ders 47/116

interface ile sözleşme tanımlamayı öğrenirsin.

interface tanımlama

Bir interface (arayüz), uygulayan sınıfın uyması gereken bir sözleşmedir. Metot imzalarını içerir ama gövde içermez; alan tutamaz. Tanımı: interface IGreeter { string Greet(string name); }.

Bir sınıf interface'i uyguladığında, tüm metotların gövdesini yazmak zorundadır. Bu, farklı sınıfların aynı sözleşmeye uymasını sağlar. interface'ler new ile örneklenemez; yalnızca uygulayan sınıf örnekleri üzerinden kullanılabilir.

interface bildirimi

interface tanımı interface anahtar kelimesiyle başlar. Gövde süslü parantez içinde, her metot imzası noktalı virgülle biter: string Greet(string name);.

Metotlar public yazılmaz; interface üyeleri varsayılan olarak herkese açıktır. interface isimleri genelde I önekiyle başlar: IGreeter, IShape, IComparable. Bu, sınıfla karışmasını önler ve .NETgeleneğine uyar.

Uygulama Selmlayıcı arayüzü

IGreeter arayüzünü tanımla: string Greet(string name); metot imzasını içersin. EnglishGreeter ve Main zaten hazır; sen sadece arayüzü ekleyeceksin.

Örnek çözümü göster
`interface IGreeter { string Greet(string name); }` ekle.
Örnek çözüm:
using System;

interface IGreeter
{
    string Greet(string name);
}

class EnglishGreeter : IGreeter
{
    public string Greet(string name)
    {
        return "Merhaba " + name;
    }
}

class Program
{
    static void Main()
    {
        IGreeter g = new EnglishGreeter();
        Console.WriteLine(g.Greet("Ayşe"));
    }
}

Kendini test et

  1. interface ile ilgili hangisi doğrudur?

    • interface alan içerebilir.
    • interface bir sözleşmedir ve uygulayan sınıf metotları uygular.
    • interface new ile örneklenir.
    • interface yalnızca bir sınıf tarafından uygulanabilir.
    Cevabı göster

    interface bir sözleşmedir ve uygulayan sınıf metotları uygular. — Doğru. interface bir sözleşmedir; uygulayan sınıf metotları uygular.

  2. Boşluğu doldur: interface metodu

    interface IGreeter
    {
        ____;
    }
    Cevabı göster
    interface IGreeter
    {
        string Greet(string name);
    }
  3. Eşleştir: interface kavramları

    interface
    sözleşme
    gövdesiz imza
    noktalı virgülle biter
    I öneki
    IShape, IGreeter
    new IGreeter()
    geçersiz

Orta seviye bölümündeki tüm dersler