interface tanımlama
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
-
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.
-
Boşluğu doldur: interface metodu
interface IGreeter { ____; }Cevabı göster
interface IGreeter { string Greet(string name); } -
Eşleştir: interface kavramları
- interface
- sözleşme
- gövdesiz imza
- noktalı virgülle biter
- I öneki
- IShape, IGreeter
- new IGreeter()
- geçersiz