Statik Ciltleme ile Dinamik Ciltleme Arasındaki Fark

Temel Fark - Statik Bağlama ve Dinamik Bağlama
 

Java ve C # gibi programlama dilleri Nesneye Yönelik Programlamayı (OOP) destekler. Nesneleri kullanarak yazılım oluşturmaya izin verir. Bir yazılım sisteminde veya programda birçok nesne vardır. Bu nesnelerin öznitelikleri ve yöntemleri vardır. Nitelikler özellikleri tanımlar. Yöntemler, nesne tarafından gerçekleştirilebilecek eylemleri açıklar. Veriler, yöntemler kullanılarak nesnelerden geçirilir. Gerekli değerler, parametrelerle yöntem çağrıları yoluyla gönderilir. Gerçek yöntem uygulaması yöntem tanımındadır. Bir yöntem çağrısı ile yöntem tanımı arasında bir bağlantı vardır. Bağlanma olarak bilinir. İki tür ciltleme vardır. Statik bağlanma ve dinamik bağlanmadır. temel fark statik bağlanma ile dinamik bağlanma arasında, statik bağlamada, ciltleme derleme zamanında çözülürken dinamik bağlama çalışma zamanında çözülür, yani gerçek yürütme zamanı. Bu makalede, bu iki bağlama mekanizması arasındaki fark tartışılmaktadır.

İÇİNDEKİLER

1. Genel Bakış ve Temel Fark
2. Statik Bağlama Nedir
3. Dinamik Ciltleme Nedir
4. Statik Bağlanma ile Dinamik Bağlama Arasındaki Benzerlikler
5. Yan Yana Karşılaştırma - Tablo Şeklinde Statik Ciltleme ve Dinamik Ciltleme
6. Özet

Statik Bağlama Nedir?

Bağlama, bir yöntem çağrısı ile yöntem tanımları arasındaki bağlantıdır.

Şekil 01: Statik Bağlama ve Dinamik Bağlama

Java ile yazılmış aşağıdaki programa bakın.

genel sınıf A

herkese açık geçersiz yöntem1 ()

( “Yöntem 1”) System.out.println;

herkese açık geçersiz yöntem2 ()

( “Method2”) System.out.println;

public static void main (Dize [] args)

Bir obj = yeni A ();

obj.method1 ();

obj.method2 ();

Yukarıdaki programa göre, A tipi bir nesne yaratılır. Sonra yöntem1 ve yöntem2 çağrılır. Hangi yöntemin yürütülmesi gerektiğini belirleme, bağlayıcı olarak bilinir. Obj.method1 () ifadesi method1 () öğesini çağırır ve obj.method2 () yöntemi method2 () öğesini çağırır. Bu bağlantı bağlayıcı.

Statik bağlanmada bağlanma derleyici tarafından derleme zamanında çözülür. Olarak da bilinir erken bağlama. Bağlama, bir program gerçekten çalışmadan önce olur. Yöntem aşırı yüklenmesinde statik bağlanma meydana gelir. Java ile yazılmış aşağıdaki programa bakın.

halka açık boşluk Hesaplaması

genel boşluk toplamı (int x, int y)

System.out.println (“Toplam“, x + y);

genel boşluk toplamı (çift x, çift y)

System.out.println (“Toplam“, x + y);

public static void main (Dize [] args)

Hesaplama cal = yeni Hesaplama ();

cal.sum (2,3);

cal.sum (5.1, 6.4);

Yukarıdaki programa göre, iki tamsayı geçerken, iki tamsayı ile yöntem çağrılır. İki çift değer iletilirken, iki çift değere karşılık gelen yöntem çağrılır. Bu bağlama işlemi derleme sırasında meydana gelir. Derleyici, cal.sum (2,3) için iki tamsayı değeri olan sum yöntemini çağırması gerektiğini bilir. Cal (5.1,6.4) için, toplam yöntemini iki çift değerle çağırır. Gerekli tüm bilgiler çalışma zamanından önce bilinir, bu nedenle program verimliliğini ve yürütme hızını artırır.

Dinamik Ciltleme Nedir?

Dinamik Bağlama'da derleyici, derleme zamanında bağlamayı çözmez. Bağlama çalışma zamanında gerçekleşir. Olarak da bilinir geç bağlama. Dinamik Bağlama yöntem geçersiz kılmasında oluşur. Java ile yazılmış programa başvurun.

public class Shape ()

genel void draw ()

System.out.println (“Şekil çiz”);

public class Circle (), Shape

genel void draw ()

System.out.println (“Çember çiz”);

public class Triangle (), Shape

genel void draw ()

System.out.println (“Üçgen çiz”);

herkese açık sınıf Testi

public static void main (Dize [] args)

Şekil s;

s = yeni Şekil ();

s.draw ();

s = yeni Circle ();

s.draw ();

s = yeni Üçgen ();

s.draw ();

Yukarıdaki programa göre, Shape Shape bir yöntem draw () yöntemine sahiptir. Sınıf Çemberi ve sınıf Üçgen Şekil sınıfını genişletir. Sınıf Çemberi ve sınıf Üçgeni, Shape sınıfının niteliklerini ve yöntemlerini devralabilir. Bu nedenle, sınıf Shape süper sınıf veya üst sınıftır. Sınıf Çemberi ve Sınıf Üçgeni alt sınıflar veya türetilmiş sınıflardır. Bu sınıflar ayrıca kendi uygulamalarıyla draw () yöntemine sahiptir. Bu nedenle, süper sınıftaki draw () yöntemi geçersiz kılınır.

Ana yöntemde, farklı nesneler çağrılır. S şeklinde Shape türünde bir referans değişkeni vardır. Daha sonra, s, belirli sınıfa göre yöntemi çağırır. Derleme zamanında, derleyici yalnızca süper sınıf çekme yöntemini kullanır. Gerçek uygulama başladığında, farklı çekme yöntemlerinin uygulanmasına yol açacaktır. İlk olarak, s, Shape türündeki nesneye işaret edecektir. Bu nedenle, Shape sınıfında draw yöntemini çağırır. Sonra s, Circle türündeki nesneyi işaret edecek ve Circle sınıfının draw yöntemini çağıracaktır. Son olarak, s, Triangle tipindeki nesneye atıfta bulunacak ve Triangle sınıfında draw yöntemini çağıracaktır. Referans değişkeni Shape tipinde olsa da, ciltleme nesne tipine bağlıdır. Bu kavram Dinamik Bağlama olarak bilinir. Bilgi çalışma zamanında sağlanır, bu nedenle yürütme hızı statik bağlanmaya kıyasla daha yavaştır.

Statik Bağlanma ile Dinamik Bağlama Arasındaki Benzerlik Nedir??

  • Her ikisi de, bir nesnenin birden çok şekilde davranmasına izin veren bir polimorfizmle ilgilidir..

Statik Ciltleme ile Dinamik Ciltleme Arasındaki Fark Nedir??

Statik Bağlama ve Dinamik Bağlama

Statik Ciltleme, derleme zamanı sırasında bir işlevi çağırmak için gerekli tüm bilgileri toplayan ciltleme türüdür. Dinamik Bağlama, çalışma sırasında bir işlevi çağırmak için gerekli tüm bilgileri toplayan ciltleme türüdür.
 Bağlanma Zamanı
Statik Cilt derleme zamanında gerçekleşir. Dinamik bağlama çalışma zamanında gerçekleşir.
İşlevsellik
Statik Cilt, ciltleme için tür bilgilerini kullanır. Dinamik Ciltleme, ciltlemek için nesneleri kullanır.
 Gerçek Nesne
Statik ciltleme, ciltleme için gerçek bir nesne kullanmaz. Dinamik ciltleme, gerçek nesneyi ciltleme için kullanma.
Eş anlamlı
Statik bağlanma erken bağlanma olarak da bilinir. Dinamik bağlama ayrıca geç bağlama olarak da bilinir.
infaz
Statik bağlamada yürütme hızı yüksektir. Dinamik bağlamada yürütme hızı düşük.
Misal
Statik bağlanma yöntem aşırı yüklemesinde kullanılır. Dinamik bağlama yöntem geçersiz kılmasında kullanılır.

Özet - statik Bağlama ve Dinamik Bağlama 

Bir yöntem çağrısı ile yöntem tanımı arasında bir bağlantı vardır. Bağlanma olarak bilinir. Statik bağlanma ve dinamik bağlanma adı verilen iki tür bağ vardır. Statik bağlanma ve dinamik bağlanma arasındaki fark, statik bağlanmada bağlamanın derleme zamanında çözülmesidir; dinamik bağlanma ise çalışma zamanında (gerçek yürütme zamanı) çözülür. Çalışma süresinden önce gerekli bilgiler sağlandığından, statik bağlama, dinamik bağlama kıyasla hızlıdır.

Statik Ciltleme ve Dinamik Ciltleme PDF dosyasını indirin

Bu makalenin PDF sürümünü indirebilir ve alıntı notuna göre çevrimdışı amaçlar için kullanabilirsiniz. Lütfen PDF sürümünü buradan indirin: Statik Ciltleme ile Dinamik Ciltleme Arasındaki Fark

Referans:

1.Java Röportaj 04 - Dinamik Bağlama ve Statik Bağlama, Mahika Öğreticileri, 27 Aralık 2017. Buradan erişilebilir