Dinamik Bağlanma nedir?
Olarak bilgisayar biliminin , adı bağlanma kodu veya veri
bölümüne bir fonksiyon veya değişken adı gibi bir kimlik ilişki vardır. En
yaygın senaryoda, statik bağlama, bu eşleme derleme zamanında bilinir. Dinamik
bağlanmada, bir işlevle eşlenen nesne, faizsiz KOSGEB kredisiderleme zamanında bilinmez ve yalnızca
program çalışma süresi boyunca belirlenebilir. Bu nedenle, geç bağlama da denir
. Statik bağlama ile mevcut olmayan esneklik sunsa da, statik bağlamadan daha
fazla performans maliyeti gerektirir.
Dinamik bağlanma, nesne yönelimli programlamanın bir parçası
olan polimorfizm ile yakından ilişkilidir. Polimorfizm, aynı metodun farklı
yollarla uygulanmasına izin verir. Kod, derleme zamanında kesin yöntem
belirlenemeyen şekilde yazılmazsa, dinamik ciltleme kullanılmalıdır.
Örneğin, bir "Şekil" sınıfının "GetArea"
adlı bir yöntemi olabilir, çünkü her şeklin bir alanı vardır. Bununla birlikte,
"Şekil" in bir "Çember" alt sınıfı "GetArea" yi
bir "Kare" alt sınıftan farklı bir şekilde uygular. Bu nedenle,
"Shape" türünde yeni bir nesne oluşturulduysa ve kod, bu şekildeki
"GetArea" yöntemini çağırırsa, derleyicinin şeklin daire mi yoksa
kare mi olduğunu bilmesinin hiçbir yolu yoktur. Hangi GetArea yönteminin çağrılacağını
bilmez. Bu, dinamik bağlama örneğidir, çünkü doğru GetArea yöntemi yalnızca
çalışma zamanında haritalandırılır, program, nesnenin ne tür bir şekil olduğunu
bilir.
Dinamik bağlanma, hangi spesifik uygulamanın kullanılacağını
bilmeden soyut yöntemler kullanmanın esnekliğine izin verir. "Şekil"
örneğinde, bu mantığı açıkça kullanarak dinamik bağlamadan kaçınmak için kod
yazılabilir: Şekil bir daire ise, o zaman dairenin GetArea yöntemini çağırın;
Başka bir deyişle, şekil kare ise, kareler için belirli bir GetArea yöntemini çağırın.
Dinamik bağlamanın yararı, kodun alternatiften daha temiz ve daha kalıcı
olmasıdır. kadınlara KOSGEB desteğiStatik bağlama örneğinde, kod çoğaltma vardır ve yeni bir
şekil türü eklendiğinde kod güncellenmelidir.
Downsides, performans ve güvenlik vardır. Statik ciltlemede,
derleyici tam olarak hangi kodun kullanılacağını bilir ve daha verimli çalışmak
için kodu optimize edebilir. Tip güvenlik sorun olabilir, çünkü bazı dinamik
bağlama uygulamalarında, yöntemi desteklemeyen bir nesne üzerinde bir yöntem
çağrılabilir. Örneğin, "GetArea" yöntemi, bir şekil olmayan ve bu
nedenle, bir çalışma zamanı hatasıyla sonuçlanabilecek "GetArea"
yöntemine sahip olmayan bir nesne üzerinde çağrılabilir . Statik bağlanma, bir
derleme hatası oluşturarak bu senaryoyu engeller.
Yorumlar
Yorum Gönder