Erken Bağlanma ve Geç Bağlanma, Polimorfizm ile ilgili iki kavramdır. Erken Ciltleme derleme zamanında, Geç Ciltleme çalışma zamanında gerçekleşir. temel fark Erken ve Geç Bağlanma arasında Erken Bağlama yöntem çağrısını çözmek için sınıf bilgilerini kullanırken Geç Bağlama yöntem çağrısını çözmek için nesneyi kullanır.
Java gibi programlama dilleri Nesne Tabanlı Programlamayı (OOP) destekler. Nesneleri kullanarak programın veya yazılımın oluşturulmasına izin veren bir paradigmadır. Yazılımda birden fazla nesne var. Bu nesneler birbirine bağlanır ve yöntemler kullanılarak mesajlar iletilir. Her nesnenin özellikleri ve davranışları vardır. Karakteristikler özellikler veya nitelikler ile tanımlanır. Davranışlar yöntemler kullanılarak açıklanır. Öğrenci nesnesi ad, yaş gibi özelliklere sahip olabilir ve bunlar özelliklerle temsil edilir. Öğrenci nesnesi, çalışma ve okuma gibi davranışlara sahip olabilir ve bunlar yöntemlerle temsil edilir. OOP'un önemli bir direği Polimorfizm'dir. Bir nesnenin birden çok şekilde davranmasını sağlar. Erken Bağlanma ve Geç Bağlanma, Polimorfizmde iki kavramdır. Aşırı yükleme yöntemleri erken bağlama kullanılarak bağlanır. Geçersiz kılınan yöntemler geç bağlama kullanılarak bağlanır.
1. Genel Bakış ve Temel Fark
2. Erken Bağlama Nedir
3. Geç Bağlama Nedir
4. Erken ve Geç Bağlanma Arasındaki Benzerlikler
5. Yan Yana Karşılaştırma - Tablo ve Formda Erken ve Geç Bağlama
6. Özet
Erken Bağlama'da, sınıf bilgisi yöntem çağrısını çözmek için kullanılır. Erken Bağlanma derleme zamanında gerçekleşir. Statik bağlanma olarak da bilinir. Bu işlemde, bağlanma, program gerçekten çalışmadan önce gerçekleşir. Aşırı yükleme yöntemleri erken bağlama kullanılarak bağlanır. Aşağıdaki programa bakın.
Şekil 01: Hesaplama Sınıfı
Şekil 02: Erken Bağlanma Ana Programı
Yukarıdaki programa göre, Calculation sınıfı iki tam sayı değerini kabul eden bir add yöntemi ve iki çift değeri kabul eden başka bir add yöntemi içerir. Ana programda, Calculation türünde bir nesne oluşturulur. Add yöntemine iki tamsayı iletirken, iki tamsayıyı kabul eden add yöntemini çağırır. Ekle yöntemine iki çift değer iletilirken, iki çift değere karşılık gelen yöntemi çağırır. Bu bağlama işlemi derleme zamanında gerçekleşir. 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.
Geç Bağlama'da, nesne yöntem çağrısını çözmek için kullanılır. Geç Bağlama çalışma zamanında gerçekleşir. Olarak da bilinir dinamik ciltleme. Bu işlemde, bağlayıcı program yürütme sırasında oluşur. Geçersiz kılınan yöntemler geç bağlama kullanılarak bağlanır. Aşağıdaki programa bakın.
Resim 03: Şekil Sınıfı
Resim 04: Daire Sınıfı
Resim 05: Üçgen Sınıfı
Şekil 06: Geç Bağlama için ana program
Yukarıdaki programa göre, Shape Shape'in bir çizim yöntemi vardır. Class Circle ve sınıf Triangle sınıfı Shape sınıfını genişletir. Bu nedenle, bu iki sınıf Shape sınıfının niteliklerini ve yöntemlerini devralabilir. Shape Class temel sınıftır. Çember ve Üçgen sınıfları türetilmiş sınıflardır. Circle sınıfı ve Triangle sınıfı kendi uygulamalarıyla beraber draw yöntemine de sahiptir. Bu nedenle, Shape sınıfındaki draw yöntemi, türetilen sınıfların draw yöntemleri tarafından geçersiz kılınır.
Ana programda Shape türünde bir referans değişkeni s oluşturulur. Derleme zamanında derleyici yalnızca temel sınıf draw yöntemini kullanır. Çalışma zamanında, farklı çizim yöntemleri uygulanacaktır. İlk olarak, s, Shape türündeki nesneye işaret edecektir. Böylece, Shape sınıfının draw yöntemi çağrılır. Sonra s, Circle türündeki nesneyi gösterecek ve Circle sınıfının draw yöntemini çağıracaktır. Son olarak s, Triangle türündeki nesneyi gösterecek ve Triangle sınıfında draw yöntemini çağıracaktır. Yöntemler nesnelere bağlı olarak çağrılır. Bu nedenle, nesne Geç Bağlama'da çağrılan yöntemi çözümlemek için kullanılır. Bağlama için gerekli bilgiler çalışma zamanında sağlanır, bu nedenle yürütme hızı erken bağlamaya kıyasla daha yavaştır.
Erken Bağlama ve Geç Bağlama | |
Derleme zamanında gerçekleşen yöntem çağrısını çözmek için sınıf bilgilerini kullanma işlemine Erken Bağlama denir. | Çalışma zamanında gerçekleşen yöntem çağrısını çözmek için nesneyi kullanma işlemine Geç Bağlama denir. |
Bağlanma Zamanı | |
Erken Ciltleme derleme zamanında gerçekleşir. | Geç Bağlama çalışma zamanında olur. |
İşlevsellik | |
Erken Bağlama yöntem çağrısını çözmek için sınıf bilgilerini kullanır. | Geç Bağlama, yöntem çağrısını çözmek için nesneyi kullanır. |
Eş anlamlı | |
Erken Bağlama statik bağlanma olarak da bilinir… | Geç Bağlama, dinamik bağlanma olarak da bilinir. |
olay | |
Aşırı yükleme yöntemleri erken bağlama kullanılarak bağlanır. | Geçersiz kılınan yöntemler geç bağlama kullanılarak bağlanır. |
Yürütme Hızı | |
Erken bağlamada yürütme hızı daha yüksektir. | Geç bağlamada yürütme hızı daha düşük. |
OOP yazılım geliştirme için yaygın olarak kullanılır. OOP'un önemli bir direği polimorfizmdir. Erken Bağlanma ve Geç Bağlanma bununla ilgilidir. Derleme zamanında Erken Bağlama yapılır, Geç Bağlama çalışma zamanında oluşur. Yöntem aşırı yüklenmesinde, bağlanma erken bağlanma kullanılarak gerçekleşir. Metot geçersiz kılmasında, bağ, geç bağlama kullanılarak gerçekleştirilir. Erken ve Geç Bağlama arasındaki fark, Erken Bağlamanın yöntem çağrısını çözmek için sınıf bilgilerini kullanması, Geç Bağlamanın yöntem çağrısını çözmek için nesneyi kullanmasıdır.
1.Java Röportaj 04 - Dinamik Bağlama ve Statik Bağlama, Mahika Tutorials, 27 Aralık 2017. Buradan ulaşabilirsiniz
2.Java'da Dinamik Yöntem Dağıtımı | Çekirdek Java Eğitimi | Studytonight. burada Temin