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"); }
}