جاوا

جلسه ۲۴: پنهان سازی داده ها در جاوا

پنهان سازی داده ها چیست؟

در این درس ، با جنبه بسیار مهمی از برنامه نویسی شی گرا به نام پنهان سازی داده ها آشنا خواهید شد.

موارد زیر را بیان خواهیم کرد

  • معرفی
  • یک مثال از زندگی واقعی
  • اصول پنهان سازی داده ها

معرفی

در جلسات قبل با مفهوم اشیا (object ها) و کلاس ها (class ها) آشنا شدید.

در OOP (برنامه نویسی شی گرا) ، اشیا و کلاسها موجودیت ها اولیه هستند. اشیا با استفاده از کلاسها ایجاد می شوند. می توان مشاهده کرد که کلاسها شامل اعضای داده هستند و اشیا برای دستکاری و دسترسی به این داده ها ایجاد می شوند. برای اینکه این سیستم شی گرا قابل اطمینان تر و بدون خطا باشد ، محدود کردن دسترسی به اعضای کلاس ایده خوبی است.

به زبان ساده ، پنهان سازی داده ها به مفهوم پنهان کردن عملکردهای داخلی یک کلاس و صرفاً ارائه رابطی گفته می شود که از طریق آن دنیای خارج می تواند با کلاس تعامل داشته باشد بدون اینکه بداند در داخل کلاس چه می گذرد.

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

یک مثال از زندگی واقعی

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

بیمار فقط مراحل مراجعه به پزشک را می داند. منطق و استدلال تجویز داروی خاص توسط پزشک برای بیمار ناشناخته است. بیمار جزئیات پزشکی را که پزشک برای رسیدن به تصمیم خود در مورد درمان استفاده می کند ، درک نخواهد کرد.

این یک نمونه کلاسیک از تعامل کلاس بیمار (patient) با کلاس پزشک (doctor) بدون دانستن عملکردهای داخلی کلاس پزشک است.

تعاملات نشان داده شده در بالا بسیار ساده به نظر می رسند. پنهان سازی داده ها مفید است زیرا می تواند همان سادگی را در تعاملات بین اشیا از کلاسهای مختلف اعمال کند.

اصول پنهان سازی داده ها

پنهان سازی داده ها را می توان به دو بخش اصلی تقسیم کرد:

  • کپسوله سازی
  • انتزاع یا تجرید

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

این جلسه مفهوم پنهان سازی داده ها و تکنیک های مربوط به آن را تقریباً پوشش داد. در جلسه بعدی ، با کپسوله سازی (Encapsulation) آشنا خواهید شد.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا