Sobes.tech
Middle

Soyut sınıf ile arayüz arasındaki fark nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Soyut Sınıf — hem uygulanmış metodlar hem de uygulanmamış (sadece imza olan) metodlar içerebilen bir sınıftır. Kalıtım için temel oluşturur ve durum (alanlar) içerebilir.

Arayüz (İnterface) — uygulaması olmayan metodların bir kümesini tanımlayan bir sözleşmedir (klasik anlamda). Bu arayüzü uygulayan sınıf, tüm metodlarını uygulamalıdır.

Ana farklar:

  • Soyut sınıf, uygulama ve durum içerebilir; arayüz sadece metod imzalarını içerir (bazı dillerde, arayüzler varsayılan metodlar içerebilir).
  • Bir sınıf yalnızca bir soyut sınıftan kalıtım alabilir, ancak birden fazla arayüzü uygulayabilir.
  • Soyut sınıf kısmi bir uygulama sağlar, arayüz sadece sözleşmedir.

Java örneği:

abstract class Animal {
    void eat() { System.out.println("Yemek yiyor"); }
    abstract void sound();
}

interface Flyable {
    void fly();
}

class Bird extends Animal implements Flyable {
    void sound() { System.out.println("Cıvıltı"); }
    public void fly() { System.out.println("Uçuyor"); }
}