تفاوت کپسوله سازی و انتزاع (Encapsulation VS Abstraction)

در این مقاله قصد داریم توضیحاتی درباره تفاوت Encapsulation (کپسوله سازی) و Abstraction (انتزاع) ارائه دهیم. Enacapsulation یک مکانیزم است که دسترسی شما را به تعدادی از اجزاء اشیا محدود میکند،از جمله ارتباط داده ها و عملکرد متدها روی داده ها. Abstraction توانایی تعریف یک شی است که می تواند نشان دهنده موجودیت های انتزاعی که کار میکنند، تغییر موقعیت می دهند و می توانند با دیگر موجودیتها در ارتباط باشند .

تفاوت کپسوله سازی و انتزاع (Encapsulation VS Abstraction)

در این مقاله قصد داریم توضیحاتی درباره تفاوت Encapsulation (کپسوله سازی) و Abstraction (انتزاع) ارائه دهیم. Enacapsulation  یک مکانیزم است که دسترسی شما را به تعدادی از اجزاء اشیا محدود میکند،از جمله ارتباط داده ها و عملکرد متدها روی داده ها. Abstraction  توانایی تعریف یک شی است که می تواند نشان دهنده موجودیت های انتزاعی که کار میکنند، تغییر موقعیت می دهند و می توانند با دیگر موجودیتها در ارتباط باشند .

کمی گیج کننده است که هردوری آنها شبیه به هم هستند، به دلیل تعاریف که Abstraction فقط موارد مورد نیاز را نشان می دهد و Encapsulation پیچیدگی را پنهان میکند.

به نظر می رسد مشابه هم هستند اما در واقع واینطور نیست. در اینجا تفاوت های آنها را خواهیم دید. 

Abstraction   یا انتزاع

1. یک مفهوم از مکانیسم پنهان کردن است.

2. فقط قسمتهایی که نیاز است را نشان می دهد.

3. این یک فرایند تفکر است که در سطح طراحی حل می شود. 

Encapsulation یا کپسوله سازی

1. Encapsulation پیاده سازی آن مفهوم است.

2. پنهان شدن پیچدگی

3. اینجا همان فرایند واقعی پنهان کردن است که در سطح کلاس حل شده بود. 

مثال در دنیای واقعی :

یخچال و فریزر

انجماد یخچال و فریزر یک مفهوم است.  ما فقط می دانیم که خنک میکند یا نه ! (Abstraction)

چگونگی کار کردن آن را لازم نیست کاربر بداند (Encapsulation)

موبایل :

ما موبایل را با استفاده از صفحه نمایش لمسی به کار میگیریم. فقط لازم است بدانیم که صفحه نمایش لمسی کار میکند یا نه !

ما چگونگی مکانیسم داخلی مدار ارتباط پاسخ صفحه نمایش را نمیدانیم . (Encapsulation)