Soyutlama ve Kapsülleme Arasındaki Fark

Soyutlama ve Kapsülleme Arasındaki Temel Farklılıklar

  • Soyutlama, en gerekli ayrıntıları sağlayarak yalnızca yararlı verileri gösterirken, Kapsülleme, gerekli bilgiler için kodu ve verileri sarar.
  • Soyutlama esas olarak ne yapılması gerektiğine odaklanırken Kapsülleme nasıl yapılması gerektiğine odaklanır.
  • Soyutlama, size daha soyut bir resim sunarak karmaşıklığı gizler; kapsülleme ise dahili çalışmayı gizler, böylece daha sonra değiştirebilirsiniz.
  • Soyutlama, programı birçok bağımsız bölüme ayırmanıza yardımcı olurken Kapsüllemenin yeni gereksinimlerle değiştirilmesi kolaydır.
  • Kapsülleme ve Soyutlama karşılaştırıldığında, Soyutlama tasarım düzeyindeki sorunları çözerken, Kapsülleme uygulama düzeyindeki sorunları çözer.
  • Soyutlama, kodda bulunan alakasız ayrıntıları gizlerken, Kapsülleme geliştiricilerin tüm kodu kolayca düzenlemesine yardımcı olur.
Soyutlama ve Kapsülleme Arasındaki Fark
Soyutlama ve Kapsülleme Arasındaki Fark Java

Soyutlamanın Tanımı

Soyutlama, yalnızca bir nesnenin ilgili verilerine odaklanan bir OOP kavramıdır. Arka plan ayrıntılarını gizler ve karmaşıklığı azaltmak ve verimliliği artırmak için temel veri noktalarını vurgular. Genellikle yalnızca o belirli süreç için en ilgili olan bilgileri tutar. Soyutlama yöntem esas olarak fiili işleyiş yerine fikre odaklanır.

Kapsüllemenin Tanımı

Kapsülleme, karmaşık bir sistemi son kullanıcılar için daha kolay yönetilebilir hale getirme yöntemidir. Kullanıcının sistemin iç detayları ve karmaşıklıkları hakkında endişelenmesine gerek yoktur. Encapsulation veriyi ve veri üzerinde çalışan kodu tek bir varlıkta sarmalama işlemidir. Bunu, sarmalayıcının dışında tanımlanan koda rastgele erişimi durduran koruyucu bir sarmalayıcı olarak varsayabilirsiniz.

Soyutlama ve Kapsülleme
Soyutlama ve Kapsülleme

Soyutlama ve Kapsülleme Arasındaki Fark

Soyutlama ile Kapsülleme arasındaki temel fark şudur:

Parametre Soyutlama Encapsulation
İçin kullanmak Soyutlama, tasarım aşamasında ortaya çıkan sorunları ve sorunları çözer. Kapsülleme, uygulama aşamasında ortaya çıkan sorunu ve sorunu çözer.
odak Soyutlama, nesnenin nasıl yaptığı yerine ne yaptığına odaklanmanızı sağlar Kapsülleme, verileri dış dünyadan korumak için kodu ve verileri tek bir birime gizlemenize olanak tanır.
Uygulama Soyutlamayı Arayüz ve Soyut Sınıfı kullanarak kullanabilirsiniz. Erişim Değiştiricileri (Genel, Korumalı ve Özel) kullanarak kapsüllemeyi uygulayabilirsiniz.
Odakları Esas olarak ne yapılması gerektiğine odaklanın. Öncelikle nasıl yapılması gerektiğine odaklanın.
Uygulama Tasarım aşamasında. Uygulama seviyesi sırasında.

Neden Soyutlamaya ihtiyacınız var?

Nesneye Yönelik Programlama için soyutlamaya ihtiyaç duyulmasının ana nedenleri şunlardır:

  • Etki alanı modellerinin gösterimini basitleştirmenize yardımcı olur.
  • Soyutlama, kodda bulunan alakasız ayrıntıları gizler.
  • Soyutlama, programı birçok bağımsız kavrama bölmenize yardımcı olur.
  • ADT (Soyut Veri Türü) nesnelerini farklı durumlarda kullanırken en büyük esnekliği sunar

Neden Kapsüllemeye ihtiyacınız var?

Kapsüllemenin başlıca avantajları şunlardır:

  • Bir uygulamanın sürdürülebilirliğini artırır.
  • Kullanıcıya sistemi çok kolay kullanabilme esnekliği sunar
  • Geliştiricilerin kodu daha iyi organize etmelerine yardımcı olur
  • Başka bir sınıfın nasıl yaptığıyla değil, yalnızca ne yaptığıyla ilgilendiğiniz için genel kodlama sürecini kolaylaştırır
  • Bu yöntem geliştiricilerin daha 'objektif' ve sonuç odaklı olmalarına yardımcı olur.
  • Kapsüllenmiş Kod oldukça esnektir ve yeni gereksinimlere göre değiştirilmesi kolaydır.
  • Kapsülleme, birim testini kolaylaştırır.
  • Tek bir şeyin tüm parçaları tek bir yerde kapsüllendiğinden, modüllerin bağlantısını azaltmanıza ve modül içindeki uyumu artırmanıza olanak tanır.
  • Kapsülleme, kodun diğer bölümlerini etkilemeden kodun bir bölümünü değiştirmenize yardımcı olur.
  • Uygulamanın kod okunabilirliğini artırır
  • Gelişmiş güvenlik ve uygulamanın bakımını kolaylaştırır
  • Kapsülleme arayüzü yalnızca iyi tanımlanmış etkileşime izin verir.

Soyutlama Örneği

Bir bankacılık uygulaması oluşturmak istediğinizi ve sizden müşteriniz hakkında tüm bilgileri toplamanız istendiğini varsayalım. Müşteri hakkında aşağıdaki bilgileri elde etme olasılığınız vardır.

OOP'ta Soyutlama Örneği
OOP'ta Soyutlama Örneği

Ancak bir bankacılık uygulaması oluşturmak için yukarıdaki bilgilerin tümü gerekli değildir.

Dolayısıyla bu havuzdan yalnızca bankacılık uygulamanız için yararlı bilgileri seçmeniz gerekir. İsim, adres, vergi bilgileri vb. veriler bir bankacılık uygulaması için anlamlıdır.

OOP'ta Soyutlama Örneği
OOP'ta Soyutlama Örneği

Müşteri bilgilerini daha büyük bir havuzdan getirdiğimiz/kaldırdığımız/seçtiğimiz için işleme Soyutlama adı veriliyor.

Ancak aynı bilgi bir kez çıkarıldıktan sonra çok çeşitli uygulamalar için kullanılabilir. Örneğin, aynı verileri hastane başvurusu, iş portalı uygulaması, Devlet veritabanı vb. için çok az değişiklik yaparak veya hiç değişiklik yapmadan kullanabilirsiniz. Dolayısıyla Ana Verileriniz haline gelir. Bu, Soyutlamanın bir avantajıdır.

Kapsülleme Örneği

Bir mobil cihaz örneğini ele alalım. Mobil cihazların yardımıyla resim çekme, mesaj gönderme, video/ses kaydetme, web'e erişme ve çok daha fazlası gibi çeşitli işlevleri gerçekleştirebilirsiniz.

Yukarıda belirtilen özellikler akıllı telefonların çoğunun işlevselliğidir. Ancak, bu programı kullanmadan önce bu özelliklerin dahili işleyiş ayrıntılarını anlamanıza gerek yoktur. Örneğin, kameranızın gama düzeltmesini nasıl hesapladığını veya bir görüntüdeki insan yüzünü nasıl tanımladığını bilmenize gerek yoktur. Sadece yazılım arayüzünü öğrenmeniz gerekir. Bu kapsüllemedir.