Soyutlama ve Kapsülleme arasındaki fark

Soyutlama ve Kapsülleme, gerçek dünyadaki nesneleri programlara ve kodlara uygulamanızı sağlayan temel nesne yönelimli programlama (OOP) kavramlarıdır. Her ikisi de el ele giderken, birbirlerinden çok farklıdırlar. Her yöntem bir kapsülleme olsa da, aynı zamanda bir soyutlamadır. Basit bir ifadeyle, bir varlık yaratmak için farklı şeyleri bir araya getirdiğinizde, aslında bir kavram yaratırsınız - bir özet. Her ikisi de teknik olarak ayrılmaz olsa da, kelimenin tam anlamıyla ortak hiçbir şeyleri yoktur. Her kapsüllemenin bir soyutlama olduğu neredeyse doğrudur, çünkü her ikisi de bir şeyi gizler, ancak farklılıklardan adil bir payları vardır..

Soyutlama Nedir?

Soyutlama, bir nesnenin yalnızca ilgili verilerine odaklanan ve genel veya özel davranış için olabilecek veya olmayabilecek tüm alakasız ayrıntıları gizleyen temel bir OOP konseptidir. Arka plan ayrıntılarını gizler ve karmaşıklığı azaltmak ve verimliliği artırmak için gerekli noktaları vurgular. Temel olarak, soyutlama karmaşıklığı yönetmek için bir programlama aracıdır. Soyutlama olaylardan ziyade fikirlere odaklanır. Kullanıcılara işlevsellik sağlayarak tasarım düzeyindeki ayrıntıları gizler. Ortaya çıkan nesneye soyutlama da denilebilir. Programcı, adı geçen varlığın tüm temel unsurlara sahip olmasını ve ilgisiz olanların hiçbirinin bulunmamasını sağlar..

Gerçek dünyaya soyutlama örneği verelim. Bu durumda aracınız olan bir aracı ele alalım. Bir tamirci arabanızı onarmaya çalışır ya da arabanızın belirli bir bölümünü söyleyelim. Burada kullanıcısınız ve arabanızın özelliklerine veya gerçekte hangi kısmın kırıldığına girmek istemiyorsunuz. Aslında bu şeyleri umursamazsınız; detaylar için endişelenmeden aracınızın orijinal durumuna geri dönmesini istiyorsunuz. Yani, aslında mekanik parçayı, uygulama bölümünü ayırarak ne istediğinizi söylediniz. Bu bir soyutlama. Özelliklere odaklanmak yerine arabanızı sabitleyen en önemli şeye odaklandınız..

Kapsülleme Nedir?

Kapsülleme, bazı bileşenlere erişimi kısıtlarken verileri ve işlevleri tek bir bileşene bağlayan başka bir OOP konseptidir. Veri ve bilgiyi tek bir birim altında toplayan OOP'un temel temel kavramlarından biridir. Teknik terimlerle, kapsülleme, değişkenlerin dış erişimden korunması için özniteliklerin gizlenmesi anlamına gelir, böylece uygulamanın bir bölümündeki değişiklik diğer bölümleri etkilemez. Aksine, bilgileri daha açık hale getirerek verilerin kötüye kullanılması riskiyle karşı karşıya kalacaksınız. Dış dünyadan koruyarak verilere temel bütünlük sağlar. Basit bir ifadeyle, dış dünyadan ekstra ayrıntıları gizler.

Bir Bluetooth fare örneği alalım. Cihazın davranışı hakkında, farenin ne tür sensörlere sahip olduğu, kablosuz olup olmadığı vb. Gibi uygulama ayrıntıları hakkında endişelenmeden bilmeniz gerekir. Her bir ayrıntı fareyi tanımlar, ancak ayrıntılardan bağımsız olarak, sadece bir faredir. Fareyi kullanmak için sadece bir arayüze ihtiyacınız var, bu durumda fare işaretçisi. Bu kapsülleme.

Soyutlama ve Kapsülleme arasındaki fark

Her ikisi de OOP ile ilgili temel kavramlar ve teknik olarak ayrılmaz olsalar da, birçok açıdan farklılıkları var.

  1. Soyutlamanın ve Kapsüllemenin “Tanımı” ndaki Farklılıklar - Soyutlama, verimliliği artırmak ve karmaşıklığı ortadan kaldırmak için ilgisiz ayrıntıları gizleyerek bir nesnenin tüm temel yönlerini vurgulayan temel bir OOP konseptidir. Öte yandan, kapsülleme, dış dünyadan erişimi kısıtlamak için verileri ve bilgileri bir kapsüle saran bir veri gizleme mekanizmasıdır..
  2. “İşlevsellik” deki farklılıklar Soyutlama ve Kapsülleme- Soyutlama, karmaşık programları daha basit hale getirmek için sadece temel özellikleri vurgulayan bir veri gizleme mekanizmasıdır; öte yandan kapsülleme, verileri ve kodları tek bir varlığa bağlama yöntemidir. Fikir, uygulama ayrıntılarını harici erişimden korumaktır.
  3. Soyutlamanın ve Kapsüllemenin “Uygulanmasındaki” Farklılıklar - Soyutlama soyut sınıf ve arayüz kullanılarak, kapsülleme ise erişim değiştiricileri kullanılarak uygulanır. Verileri kapsüllemek için beş tür değiştirici kullanılır: Özel, Genel, Dahili, Korumalı ve Korumalı Dahili.
  4. “Kavram” daki farklılıklar Soyutlama ve Kapsülleme- Soyutlamanın arkasındaki fikir, neye değil, neye odaklanmaktır. Kapsülleme, iç mekaniğinin nasıl yapıldığını gizler. Örneğin, bir araba kullanırken, fren pedalının ne yaptığını tam olarak biliyorsunuz, ancak arkasındaki tüm mekanizmayı bilemeyebilirsiniz, çünkü veriler kapsüllenmiştir.
  5. Soyutlama ve Kapsülleme “Örneği” ndeki farklılıklar - Bir akıllı telefon örneği alalım. Ne yaptığını biliyorsunuz ama ne yaptığını nasıl bilemeyeceğinizi biliyor olabilirsiniz. İç devresi hakkında endişelenmek yerine sadece ekran ve tuş takımı düğmelerini önemsiyorsunuz. Burada akıllı telefon, iç uygulama ayrıntılarının kapsandığı bir özettir.

Karşılaştırma tablosu ile Soyutlama ve Kapsülleme

Soyutlama kapsülleme
Karmaşıklığı azaltmak ve böylece verimliliği artırmak için ilgisiz olanları gizleyerek yalnızca ilgili ayrıntılarla ilgilenir.. Verileri harici kaynaklardan korumak için verileri ve bilgileri tek bir varlıkta birleştirir.
Sunum amaçları için gerekli olmayan verileri gizleme fikrini ifade eder.. İstenmeyen erişimi kısıtlamak için verileri ve kodu gizler.
Nasıl değil,. Bir şeyin nasıl yapıldığının iç mekaniğini gizler.
Tasarım düzeyinde gereksiz ayrıntıları gizler. Ayrıca ayrıntıları gizler ancak uygulama düzeyinde.
Bilgi ve veriler ilgili verilerden ayrılır. Yakın erişim için bilgi bir kapsülün içinde gizlidir.
Olaylardan ziyade fikirlerle ilgilenir. Fikir, verileri dış dünyadan korumaktır.
Soyut sınıf ve arayüz kullanılarak uygulanır. Korumalı, özel ve paket-özel erişim değiştiricileri kullanılarak uygulanır.

özet

Her ikisi de veri gizleme ile ilgili OOP kavramları olsa da, birbirinden oldukça farklıdırlar. Soyutlama aynı zamanda kapsülleme gibi saklanmakla da ilgilidir, ancak birincisi karmaşıklığı gizlerken, ikincisi kapsadığı verileri bunlara erişimi kontrol ederek tutar. Soyutlama, bir uygulamanın karmaşıklığını azaltmak ve böylece verimliliği artırmak için ilgisiz ayrıntıları gizleyerek yalnızca gerekli özellikleri temsil etme kavramını ifade eder. Öte yandan, kapsülleme, bilgileri istenmeyen erişimden korumak için bir programın tüm iç mekaniğini gizleme kavramını ifade eder. Diğer bileşenlere erişimi kısıtlayarak veri ve bilgileri tek bir bileşene bağlar.