Sobes.tech
Junior

Soyutlama ve çok biçimlilik arasındaki fark nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Soyutlama, uygulama detaylarının gizlenmesine ve nesnenin basitleştirilmiş bir temsilinin sağlanmasına odaklanır. Çok biçimlilik, farklı sınıflardan nesnelerin temel bir sınıf veya arayüz nesnesi gibi işlenmesine izin verir ve her nesneye özgü belirli işlemleri gerçekleştirir.

Özellik Soyutlama Çok Biçimlilik
Öz Detayları gizleme, genel bir görünüm sağlama Farklı türdeki nesneleri tek tipte işleyebilme yeteneği
Hedef Basitleştirme, karmaşıklığı azaltma Esneklik, genişletilebilirlik, kodun evrenselliği
Nasıl sağlanır Soyut sınıflar, arayüzler Yöntem aşırı yükleme, yöntem geçersiz kılma, arayüzler
Örnek Motor detayları olmayan Araba sınıfı Farklı sınıflarda (Sedan, Kamyon) git() yöntemi

Soyutlama örneği (soyutlamanın kullanımı):

interface Sekil {
    // Soyut yöntem
    double alanHesapla(); 
}

class Daire implements Sekil {
    private double yaricap;

    public Daire(double yaricap) {
        this.yaricap = yaricap;
    }

    @Override
    public double alanHesapla() {
        // Uygulama detayları arayüz metodunun arkasına gizlenmiştir
        return Math.PI * yaricap * yaricap; 
}
}

Çok biçimlilik örneği:

// Çok biçimlilik kullanımı
Sekil benimSeklim = new Daire(5); 
// `alanHesapla()` metodunu temel tip referansı (Sekil arayüzü) üzerinden çağırma
// Gerçekten, Daire sınıfındaki `alanHesapla()` metodu çalıştırılacaktır
double alan = benimSeklim.alanHesapla(); 

System.out.println("Alan: " + alan);