بخش مقالات آکادمی | Articles
آخرین آموزش ها

مفهومی تحت عنوان Encapsulation در برنامه نویسی شیء گرا داریم؛ اگر ما Attribute ها و Behavior های یک آبجکت را در کنار یکدیگر به حالت کپسولی فرضی قرار دهیم به آن Encapsulation گفته میشود. با به کارگیری مفهوم Encapsulation میتوانیم دسترسی به قسمت یا قسمت هایی از یک کلاس یا آبجکتی که توسط آن کلاس نوشته شده است را محدود کنیم.

منظور از پنهان سازی بخش هایی از یک کلاس :

شاید برای شما هم این سوال پیش آمده باشد که ” اکر من خودم یک کلاس ساخته ام، چه نیازی به این دارم که بخش هایی از آن را از خودم پنهان سازم ؟ ” در جواب این سوال باید بگوییم که هدف از این کار پنهان سازی نیست، بلکه هدف به حداقل رساندن وابستگی میان قسمت های مختلف برنامه می باشد. در اینجا، درصورت اعمال یک تغییر کوچک در کلاس – برای مثال، محدود ساختن سطح دسترسی به تعدادی از قابلیت‌های کلاس مورد نظر – تغییرات لازم سریعاً بر روی همه آبجکت های ساخته شده از این کلاس ایجاد خواهد شد.

برای مثال برخی از برنامه نویسان، کلاسی میسازند که یک متد main چند صد خطی درآن وجود دارد و یا کلاسی می سازند که فقط از متدهای set و get می باشد. در اینجا میتوانیم بگوییم که برنامه نویس مورد نظر، با مفهوم شیء گرا آشناییت ندارد و یا به صورت شیء گرا کدنویسی نمیکند.

آبجکت ها :

همانطور که در ابتدا گفتیم یک آبجکت در برگیرنده ی یکسری Attribute ها و Behavior ها است؛ این درحالی است که رفتار این آبجکت ها به فضایی که در آن قرار دارند، بستگی دارد. برای اینکه این مسأله برای شما روشن شود، مثالی میزنیم: فرض کنید یک در داریم که چند حالت متفاوت دارد؛ حالت های آن عبارت اند از درحال باز شدن، باز، درحال بسته شدن، بسته ! یعنی در اینجا 4 حالت برای در میتواند پیش آید، ولی در نهایت فقط 2 عملکرد دارد که یا باز شده است یا بسته !! در این حالت ها بسته به باز یا بسته بودن در میتواند رفتار های مختص به خود را داشته باشد.

برای واضح تر شدن این موضوع مهم مثالی نیز از برنامه نویسی میزنیم. فرض کنید سه کلاس داریم تحت عناوین Customer, Order و Item. کلاس Customer اعتبار حساب مشتریان و سایر مسائل مربوطه را در خود نگهداری میکند. آبجکتی که از روی کلاس Order نیز ساخته شده سفارش های یک مشتری را هندل کرده و آبجکت هایی که از روی کلاس Item ساخته شده محصول را به سبد خرید اضافه میکند. ساختن چنین کلاس هایی نشان میدهد که ما به خوبی از اصول برنامه نویسی شیء گرا استفاده میکنیم.

برنامه نویسان کم تجربه :

متاسفانه برنامه نویسانی هستند که به خوبی، به کارگیری صحیح از اصول برنامه نویسی شیء گرا را فرا نگرفته اند. این برنامه نویسان با استفاده از تمام منطق نرم افزاری خود OrderService را قرار میدهند و بسته به نیاز هایی که خود احساس میکند آبجکت هایی از روی آن میسازند، که این کار با اصول برنامه نویسی شیء گرا مغایرت دارد ! پس، تا آنجا که میتوانید یکی از اصول مهم برنامه نویسی شیء گرا یعنی، Encapsulation را در هنگام کدنویسی رعایت کنید.

« امیدوارم این مقاله مورد توجه شما قرار گرفته باشد. »

تاریخ ارسال
31 تیر 1395
ارسال شده توسط
میزان بازدید
0 نفر بازدیدکننده
0 دیدگاه
فایلی جهت دانلود وجود ندارد !
مشخصات
نویسنده :
حجم و فرمت :

0 دیدگاه ثبت شده

شما هم نظری بدهید
هنوز دیدگاهی ثبت نشده
توجه فرمایید:
نظرات شما پس از بررسی و تایید نمایش داده می شود.
لطفا نظرات خود را فقط در مورد مطلب بالا ارسال کنید.