Abstract Ve Interface Class Nedir?

Ferhat ÖZÇELİK
2 min readFeb 22, 2023

--

Abstract Nedir?

Abstract Class, soyut sınıf olarak da bilinir, bir programlama terimidir ve nesne yönelimli programlamada kullanılan bir kavramdır. Abstract Class, diğer sınıfların temel özelliklerini tanımlayan, ancak doğrudan bir örneği olmayan bir sınıftır.

Bir Abstract Class, tamamlanmamış veya eksik bir sınıf olarak düşünülebilir. Örneğin, hayvanlar, arabalar veya insanlar gibi farklı varlıkların türlerini temsil eden bir Abstract Class olabilir. Bu sınıfların, özellikleri ve davranışları tanımlayan metotları içerebilir, ancak sınıfın tamamı doğrudan bir nesne olarak kullanılamaz.

Bunun yerine, Abstract Class, diğer sınıflar tarafından genişletilebilir veya uygulanabilir (inheritance) yapısına uygun olarak tasarlanmıştır. Bu, alt sınıfların Abstract Class’ın özelliklerini ve metotlarını uygulayarak tamamlanmış sınıflar haline getirebileceği anlamına gelir.

Abstract Class’lar, programcıların kod tekrarını azaltmalarına ve daha iyi bir tasarım yapmalarına yardımcı olabilir. Ayrıca, kodun daha modüler hale getirilmesine ve değişikliklerin daha kolay bir şekilde yönetilmesine yardımcı olur.

abstract class Yazdir
{
public abstract void KonsolaYazdir();
}

Interface Class Nedir?​

Interface Class, bir programlama terimidir ve nesne yönelimli programlamada kullanılan bir arayüz (interface) tanımlama mekanizmasıdır. Interface Class, birbirleriyle ilişkili nesnelerin davranışlarını tanımlamak için kullanılan bir arayüz tanımlama biçimidir.

Interface Class, bir sınıf değildir, ancak bir arayüz (interface) olarak adlandırılır. Interface, bir veya daha fazla metodu içeren bir tanımlama biçimidir ve bu metotlar, bir veya daha fazla sınıf tarafından uygulanabilir (implement) hale getirilir. Interface, sınıfın nasıl çalışması gerektiğini tanımlar, ancak sınıfın içindeki kodu tanımlamaz.

Örneğin, bir veritabanı uygulamasında, bir Interface Class, veritabanına erişim sağlayan sınıfların uygulaması gereken metotların bir listesini tanımlayabilir. Bu sayede, uygulamanın farklı bölümlerinde kullanılan veritabanı sınıflarının nasıl davranması gerektiği konusunda bir standart oluşturulabilir.

Interface Class, programcıların kod tekrarını azaltmalarına ve daha iyi bir tasarım yapmalarına yardımcı olabilir. Ayrıca, farklı sınıfların aynı arayüzü uygulayarak birbirleriyle etkileşim kurmalarına izin verir. Bu, farklı sınıfların birbirinin yerine kullanılabileceği anlamına gelir, bu da programın esnekliğini ve yeniden kullanılabilirliğini arttırır.

interface ILog
{
void LogEkle(string kayit);
}

Originally published at Ferhat ÖZÇELİK.

--

--