Ana içeriğe atla

C# Interface Kullanımı




C#'da bir interface, nesne yönelimli programlamada (OOP) bir sözleşme (contract) olarak işlev gören bir yapıdır. Bir interface, bir sınıfın sahip olması gereken yöntemler, özellikler, olaylar veya dizinleyiciler gibi üye tanımlamalarını belirtir, ancak bu üyeler için bir uygulama sağlamaz. Bu nedenle, bir interface, sadece ne yapılması gerektiğini belirtir ama nasıl yapılacağını belirlemez.

Interface'in Avantajları ve Kullanım Nedenleri

  1. Bağımlılığı Azaltma (Loosely Coupling): Interface'ler, kodun daha bağımsız hale gelmesine yardımcı olur. Bir sınıfın başka bir sınıfa sıkı sıkıya bağlı olmasını önleyerek, değişikliklerin diğer sınıfları etkilemesini en aza indirir.

  2. Çoklu Kalıtım Desteği: C#'da sınıflar yalnızca bir sınıftan türeyebilir, ancak birden fazla interface'den kalıtılabilir. Bu, çoklu kalıtım ihtiyaçlarını karşılamak için önemli bir özelliktir.

  3. Kodun Test Edilebilirliğini Artırma: Interface'ler kullanarak nesneleri soyutlayabilir ve testlerde mock nesneler kullanarak bağımsız birim testleri yapılabilir.

  4. Polimorfizm (Çok Biçimlilik) Sağlama: Interface'ler, bir nesnenin farklı formlarda kullanılabilmesini sağlar. Bir interface türündeki bir nesne, farklı sınıflar tarafından uygulanabilir; bu da esnek ve genişletilebilir bir yapı sunar.

Yorumlar

Bu blogdaki popüler yayınlar

C# Delete

//using System.Data.SqlClient; //Yeni Güncelleme geldi //Araçlar>NuGet Paket Yöneticisi>Paket yöneticisi Konsole //Install-Package Microsoft.Data.SqlClient //Kodu Yapıştırdık //using System.Data.SqlClient;  Microsoft.Data.SqlClient şeklinde değiştir ve Sorun Çözüldü //Problem SqlConnection bağlantısının altı ve üzeri çizili idi yeni version 9 geldiği için yukarıdaki değişiklikler yapıldı using Microsoft.Data.SqlClient; namespace Update {     public partial class Form1 : Form     {         SqlConnection sqlBaglanti = new SqlConnection(@"Data Source=DESKTOP-0B1GIRL\SQLEXPRESS;Initial Catalog=TestVT;Integrated Security=True;TrustServerCertificate=True");         public Form1()         {             InitializeComponent();         }         //Güncelleme İşlemi         private void button1_Click(object sender, Even...

C# Forms ve ADO.NET ile SQL Server 2022'de SQLConnection bağlantısı ile INSERT İşlemi

// SQL bağlantı yolu için sistem paketinin yüklenmesi using System; using System.Data.SqlClient; using System.Windows.Forms; namespace VeriTabanıTestProjesi {     public partial class Form1 : Form     {         // SQL bağlantı nesnesinin tanımlanması         SqlConnection sqlBaglanti = new SqlConnection(@"Data Source=DESKTOP-0B1GIRL\SQLEXPRESS;Initial Catalog=TestVT;Integrated Security=True");         public Form1()         {             InitializeComponent();         }         private void button1_Click(object sender, EventArgs e)         {             // Veri Tabanında oluşabilecek hataların yakalanması             try             {                 // SQL bağlantısının a...

Microsoft.Data.SqlClient Örnek VeriTabanı

using System; using System.Data; using Microsoft.Data.SqlClient;//Install-Package Microsoft.Data.SqlClient using System.Windows.Forms; namespace Sql_Try {     public partial class Form1 : Form     {         SqlConnection sqlVT = new SqlConnection(@"Data Source=DESKTOP-0B1GIRL;Initial Catalog=My_Form;Integrated Security=True;Encrypt=True;Trust Server Certificate=True");         public Form1()         {             InitializeComponent();         }         private void button2_Click(object sender, EventArgs e)         {             Application.Exit();         }         private void button1_Click(object sender, EventArgs e)         {             string Name = textBox_isim.Text;         ...