Java'da Gevşek Kaplin ve Sıkı Kaplin: Gevşek Kaplin ve Sıkı Kaplin Arasındaki Fark
Yayınlanan: 2021-05-02İçindekiler
Tanıtım
Java, sınıfları ve nesneleri kullanan nesne yönelimli bir programlama dilidir. Java dilinde sınıflar ve nesnelerle çalışıyorsanız, birleştirme Java'da hayati bir rol oynar. Birleştirme, Java'daki bir öğenin diğer öğe hakkında sahip olduğu bilgi derecesini ifade eder. Bir sınıfın başka bir sınıf tarafından kullanım derecesidir. Bu makale size Java'daki eşleşmeyi , türlerini örneklerle derinlemesine anlamanızı sağlayacaktır.
Java'da Kuplaj nedir?
Birleştirme, bir sınıfın diğerine bağımlılığından başka bir şey değildir. Bir koddaki bir nesne programdaki diğer nesneyi kullanıyorsa, buna Java'da gevşek bağlantı denir . Birleştirmede, iki sınıf veya nesne önceden tanımlanmış bir görevi tamamlamak için işbirliği yapar ve birlikte çalışır. Basitçe, bir öğenin bir işlevi tamamlamak için başka bir öğeye ihtiyaç duyduğu anlamına gelir. Bir sınıf diğer sınıfın mantığını çağırdığında işbirliği olarak bilinir.
Kaplin Çeşitleri Nelerdir?
Java'da kuplaj iki tiptir.
Java'da Gevşek Kaplin
İki sınıf, modül veya bileşenin birbirine düşük bağımlılığı olduğunda, Java'da gevşek bağlantı olarak adlandırılır . Java'da gevşek bağlantı , sınıfların birbirinden bağımsız olduğu anlamına gelir. Bir sınıfın diğer sınıf hakkında sahip olduğu tek bilgi, diğer sınıfın arayüzleri aracılığıyla gevşek bağlantıda açığa çıkardığı bilgidir. Bir durum nesnelerin dışarıdan kullanılmasını gerektiriyorsa, gevşek bağlantı durumu olarak adlandırılır.
Burada, ana nesne nesneyi nadiren kullanır ve nesne dış kaynaklardan kolayca değiştirilebilir. Java'daki gevşek bağlantı, kod bakımını ve çabalarını azalttığı için sıkı bağlantıya göre daha avantajlıdır. Bir sınıfta yapılan değişiklik, diğer sınıfta değişiklik gerektirmez ve iki sınıf bağımsız olarak çalışabilir.
Örnek 1: Programınızda A ve B olmak üzere iki sınıf oluşturduğunuzu düşünün. A sınıfına hacim denir ve B sınıfı bir silindirin hacmini değerlendirir. A sınıfı hacmi değiştirirseniz, B sınıfını değiştirmek zorunda kalmazsınız. Buna Java'da gevşek bağlantı denir . A sınıfı, B sınıfında değişiklik gerektirdiğinde, sıkı bir bağlantınız olur.
kod
paket gevşek kaplin; sınıf Cilt { public static void main(String args[]) { Silindir b = yeni Silindir(25, 25, 25); System.out.println(b.getVolume()); } } son sınıf Silindir { özel int hacmi; Silindir(int uzunluk, int genişlik, int yükseklik) { this.volume = uzunluk * genişlik * yükseklik; } public int getVolume() { dönüş hacmi; } } |
Açıklama: Yukarıdaki örnekte, A sınıfı ve B sınıfı gevşek bir şekilde bağlanmıştır.
Örnek 2
java.io.IOException'ı içe aktarın; arayüz Gıda { genel boşluk ekranı(); } sınıf İtalyanca { Gıda; kamu İtalyanca(Gıda s){ this.s = s; } public void display(){ System.out.println(“İtalyanca”); s.display(); } } sınıf Çince, Gıda uygular { halka açık Çince(){} public void display(){ System.out.println(“Çince”); } } sınıf Meksika yemekleri uygular { halka açık Meksikalı(){} public void display(){ System.out.println(“Meksika”); } } genel sınıf Testi { public static void main(String args[]) IOException { öğesini atar Yiyecek b = yeni Çince(); Yemek c = yeni Meksika(); İtalyanca a = yeni İtalyanca(b); //a.display() İtalyanca ve Çince yazdıracak a.display(); İtalyanca a1 = yeni İtalyanca(c); //a.display() italyanca ve meksika yazdıracak a1.display(); } } |
Çıktı
İtalyan Çince İtalyan Meksikalı |
Açıklama: Yukarıdaki örnekte, üç sınıfın tümü gevşek bir şekilde bağlanmıştır. Basitçe, uygulanan hizmetlerden herhangi birini enjekte ederek hizmet sağlamak için yemek arayüzünü kullanabileceğiniz anlamına gelir.
Dünyanın en iyi Üniversitelerinden çevrimiçi olarak Yazılım Mühendisliği dereceleri alın . Kariyerinizi hızlandırmak için Yönetici PG Programları, Gelişmiş Sertifika Programları veya Yüksek Lisans Programları kazanın.
Sıkı bağlama
İki sınıf birbirine oldukça bağımlı olduğunda buna sıkı bağlantı denir. Bir sınıf çok fazla sorumluluk aldığında veya bir sınıftaki değişikliğin diğer sınıfta değişiklik gerektirdiği durumlarda ortaya çıkar. Sıkı bağlantıda, bir nesne (ana nesne), kullanımı için başka bir nesne (alt nesne) yaratır. Ana nesne, alt nesnenin nasıl uygulandığı hakkında daha fazla bilgi sahibiyse, ebeveyn ve alt nesnenin sıkı bir şekilde eşleştiğini söyleyebiliriz.
Örnek: Programınızda A ve B olmak üzere iki sınıf oluşturduğunuzu düşünün. A sınıfına hacim denir ve B sınıfı bir silindirin hacmini değerlendirir. Hacimde herhangi bir değişiklik yaparsanız, aynı değişiklikler B sınıfına da yansıyacaktır. Dolayısıyla, her iki sınıfın da birbirine oldukça bağımlı olduğunu ve sıkı bir şekilde bağlı olduğunu söyleyebiliriz.
kod
paket sıkıştırma; sınıf Cilt { public static void main(String args[]) { Silindir b = yeni Silindir(15, 15, 15); System.out.println(b.volume); }} sınıf Silindir { genel int hacmi; Silindir(int uzunluk, int genişlik, int yükseklik) { this.volume = uzunluk * genişlik * yükseklik; }} |
Çıktı
3375 |
Açıklama: Yukarıdaki örnekte, A sınıfı ve B sınıfı birbirine bağlıdır ve bir ekip olarak birbirleriyle çalışır.
Gevşek Kaplin ve Sıkı Kaplin Arasındaki Farklar
Aşağıdaki tablo, gevşek kaplin ile sıkı kaplin arasındaki farkları listeler.
Gevşek Kaplin | Sıkı bağlama |
Nesneler birbirinden bağımsızdır. | Bir nesne, bir görevi tamamlamak için diğer nesneye bağımlıdır. |
Daha iyi test edilebilirlik | Test edilebilirlik , Java'daki gevşek bağlantı kadar iyi değildir . |
asenkron iletişim | senkron iletişim |
Daha az koordinasyon. İki sınıf arasında kod değiştirmek kolay değildir. | Daha iyi koordinasyon sağlar. Kodu iki nesne arasında kolayca değiştirebilirsiniz. |
Arayüz kavramı yok | Arayüz için GOF ilkelerini takip eder |
Daha az bilgi akışı | Daha fazla bilgi akışı |
son derece değişken | Değiştirme özelliğine sahip değildir. |
Çözüm
Özetle, Java'daki gevşek bağlantı, sıkı bağlantıya kıyasla çok daha iyidir. Kodun daha iyi esnekliğini ve yeniden kullanılabilirliğini sağlar. İki sınıf birbirinden bağımsız olduğu için kodda değişiklik yapmayı çok kolaylaştırır. Ayrıca daha iyi test edilebilirlik sağlar.
Yazılım Geliştirme hakkında daha fazla bilgi edinmek istiyorsanız, çalışan profesyoneller için tasarlanan ve 12+ Proje ve Ödev, Endüstri Mentorları ile 1'e 1, 500+ Saatlik Öğrenme Sunan LJMU'nun Bilgisayar Bilimi Yüksek Lisansı'na göz atın.