Soyutlama ve Kapsülleme arasındaki fark Fark

Anonim

olsa da gerçek dünyadaki nesneleri programlara ve kodlara uygulamanız gerekir. İkisi de el ele verirken birbirlerinden çok farklılar. Her yöntem bir kapsülleme iken, aynı zamanda bir soyutlamadır. Basit bir ifadeyle, bir varlık oluşturmak için farklı şeyleri bir araya getirdiğinizde, aslında bir kavram oluşturursunuz - bir soyuttur. Her ikisi de teknik açıdan ayrılamazken, kelimenin tam anlamıyla ortak bir yanı var. Her kapsüllemenin bir soyutlama olduğu neredeyse doğrudur, çünkü her ikisi de bir şeyler gizler, ancak farklılıkların adil paylarına sahiptirler.

Soyutlama nedir?

Soyutlama, nesnenin yalnızca ilgili verilere odaklanan ve genel veya uzmanlık gerektiren davranışlar için veya olmayabilecek tüm alakasız ayrıntıları gizleyen temel bir OOP kavramıdır. Arka plan ayrıntılarını gizler ve karmaşıklığı azaltmak ve verimliliği artırmak için temel noktaları vurgular. Temel olarak soyutlama, karmaşıklığı yönetmek için kullanılan bir programlama aracıdır. Soyutlama olaylara değil fikirlere odaklanır. Kullanıcılara işlevsellik sağlayarak tasarım düzeyindeki ayrıntıları gizler. Nihai nesne soyutlama olarak da adlandırılabilir. Programcı, adlandırılmış varlığın içerdiği tüm önemli yönleri ve alakasız olanları içermeyeceğini güvence altına alır.

Gerçek dünyadaki soyutlama örneğini ele alalım. Bu durumda aracınız olan bir aracın durumunu ele alalım. Bir tamirciniz aracınızı tamir etmeye ya da arabanızın belirli bir bölümünü denemeye çalışır. Burada kullanıcı sizsiniz ve aracınızın özelliklerine girmek istemiyorsunuz ya da aslında hangi bölüm kırılmış. Aslında bu şeylerden umursamıyorsun; sadece aracınızı detaylar hakkında endişelenmeden orijinal durumuna geri getirmek istiyorsunuz. Yani, gerçekte uygulayıcı parçayı ayırarak ne istediğinizi mekanikçiye anlattınız. Bu soyutlama. Aracınızı belirli özelliklere odaklanmak yerine sabit hale getiren en önemli şey üzerinde durdunuz.

Kapsülleme nedir?

Kapsülleme, bazı bileşenlere erişimi kısıtlarken veriyi ve işlevleri tek bir bileşene bağlayan başka bir OOP kavramıdır. Veri ve bilgileri tek bir birim altında saran OOP'un temel temel kavramlarından biridir. Teknik terimlerle, kapsülleme, kalkan değişkenlerin dışarıdan erişimi engellediği anlamına gelir, böylece bir uygulamanın bir bölümünün diğer bölümleri etkilememesi sağlanır. Aksine, bilgiyi daha açık hale getirerek verilerin yanlış kullanılmasını riske edeceksiniz. Verileri dış dünyadan koruyarak verilere temel bütünlük sağlar. Basitçe, dış dünyadan gelen ek bilgileri gizler.

Bir Bluetooth faresine bir örnek verelim.Yalnızca aygıtın davranışıyla ilgili uygulama ayrıntıları hakkında endişelenmeden, yalnızca fare sahip olduğu sensörleri, kablosuz olup olmadığını vb. Bilmeniz gerekir. Her ayrıntı, fareyi tanımlar; ayrıntılara bakılmaksızın, yalnızca bir fare. Bu durumda fare imlecini kullanan fareyi kullanmak için sadece bir arayüze ihtiyacınız var. Bu kapsülleme.

Soyutlama ve Kapsülleme arasındaki fark

Her ikisi de OOP ile ilgili temel kavramlardır ve teknik açıdan ayrılamazlarken, yine de birçok açıdan farklılık gösterirler.

  1. Soyutlama ve Kapsüllenmenin "Tanımı" ndaki Farklılıklar - Soyutlama, verimliliği artırmak ve karmaşıklığı ortadan kaldırmak için alakasız ayrıntıları gizleyerek nesnenin tüm önemli yönlerini vurgulayan temel bir OOP kavramıdır. Kapsülleme, öte yandan, verileri dışa aktarmayı kısıtlamak için verileri ve bilgileri bir kapsül içine saran bir veri gizleme mekanizmasıdır.
  2. Soyutlama ve Kapsülleme'nin "İşlevsellik" 'daki Farklılıklar - Soyutlama, yalnızca karmaşık programları daha basit hale getirmek için gerekli özelliklerin altını çizen bir veri gizleme mekanizmasıdır; bununla birlikte, kapsülleme, bağlama yöntemidir veri ve kodları tek bir varlığa dönüştürür. Amaç, uygulama ayrıntılarını harici erişimden korumaktır.
  3. Soyutlama ve Kapsüllemenin "Uygulanması" ndaki Farklılıklar Soyutlama soyut sınıf ve arabirim kullanılarak gerçekleştirilirken, kapsülleme erişim düzenleyiciler kullanılarak gerçekleştirilir. Verileri kapsüllemek için beş tür değiştirici kullanılır: Özel, Genel, Dahili, Korumalı ve İç Korumalı. Soyutlama ve Kapsülleme Konseptindeki Farklılıklar
  4. - Soyutlamanın arkasındaki fikir, neyin ne yerine ne odaklanmaktır. Kapsülleme, iç mekaniğini nasıl gizler. Örneğin, bir otomobil kullandığınızda, fren pedalının tam olarak ne yaptığını biliyorsunuz, ancak veri kapsüllendiğinden arkasındaki tüm mekanizmayı bilmiyorsunuzdur. Soyutlama ve Kapsülleme Örneklerinde Farklılıklar - Bir akıllı telefona bir örnek verelim. Bunun ne olduğunu bilirsiniz, ancak bunun ne yaptığını bilmiyorsunuzdur. Sadece ekran ve tuş takımı düğmelerini, kendi iç devrelerinden endişelenmekten çok önemsiyorsun. Burada, akıllı telefon, iç uygulama ayrıntılarının kapsüllendiği bir soyuttur.
  5. Karşılaştırma tablosu ile Soyutlama ve Kapsüllendirme Karşılaştırma Tablosu ile Soyutlama Kapsülleme

Bu, yalnızca karmaşıklığı azaltmak için verimliliği artırmak için alakasız olanları gizleyerek ilgili ayrıntılarla ilgilidir.

Verileri harici kaynaklardan korumak için verileri ve bilgileri tek bir varlık olarak birleştirir. Sunum amacıyla gerekli olmayan verileri gizleme fikrine atıfta bulunmaktadır.
İstenmeyen erişimi sınırlandırmak için verileri ve kodu gizler. Ne değil ne üzerine yoğunlaşıyor.
Bir şeylerin nasıl yapılacağına dair iç mekaniği gizler. Tasarım düzeyindeki gereksiz ayrıntıları gizler.
Ayrıca ayrıntıları gizlemekle birlikte uygulama seviyesinde gizlemektedir. Bilgi ve veriler, ilgili veriden ayrılmıştır.
Bilgi, bir kapsül içine yakın erişim için gizlidir. Olaylardan ziyade fikirlerle ilgilenir.
Fikir, verileri dış dünyadan korumaktır. Soyut sınıf ve arabirim kullanılarak gerçekleştirildi.
Korunan, özel ve paket özel erişim değiştiricileri kullanılarak uygulanır. Özet
Her ikisi de veri gizleme ile ilgili OOP kavramları olmasına rağmen, bunlar birbirinden oldukça farklıdır. Soyutlama aynı zamanda kapsülleme gibi saklanmakla ilgilidir; ancak soyutlama karmaşıklığı gizlerken, soyutlama, içeriği kontrol ederek kapsüller içine saklar. Soyutlama, bir uygulamanın karmaşıklığını azaltmak için etkinliği artırmak için alakasız ayrıntıları gizleyerek yalnızca gerekli özellikleri temsil etme kavramını ifade eder. Kapsülleme, diğer taraftan, bilginin istenmeyen erişimden korunması için bir programın tüm iç mekaniğini gizleme konseptine atıfta bulunmaktadır. Diğer bileşenlere erişimi kısıtlayarak veri ve bilgileri tek bir bileşene bağlar.