4.3  ویژگی ها و مفاهیم روش شئ گرا :

این روش دارای یکسری مفاهیم و ویژگی هاست ولی این مفاهیم از ابتدای ایجاد این روش به وجود نیامدند بلکه به مرور زمان وبا پیشرفت این روس به وجود آمدند.

حال به بررسی اجمالی هر یک از این مفاهیم می پردازیم.

 

 

encapsulation(1

Inheritance (2

polimorphism(3

 

--------------------------------------1.4.3

 :encapsulation(1

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

در واقع در این مکانیسم داده ها و دستورالعمل ها همگی مثل یک جعبه سیاه هستند که همه داده ها و دستورالعمل ها در آن وجود دارد و هنگامی که به این شکل به هم پیوند می خورند یک شئ تشکیل می شود.

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

هر یک از این  توابع به طور مستقیم به این ساختار دسترسی داشتند . در نتیجه اگر یکی از توابع یک تغییر اشتباه در ساختار ایجاد کنند سایر توابع نیز به طور خودکار دچار اشتباه می شدند.

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

به این ترتیب کلیه تغییراتی که در لیست ایجاد میشود توسط خود شئ ایجاد میشود و احتمال ایجاد اشتباه تقریباً از بین میرود.

در واقع شئ مورد نظر خودش روابطش را کنترل میکند.

این مکانیزم برای عناصر یک کلاس سه سطح دسترسی تعریف میکند که عبارتند از:

   (عمومی)Public

    (اختصاصی)Private

  (حفاظت شده)Protected

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

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

کلیه عناصری که از نوع حفاظت شده تعریف میشوند تنها توسط کلاسهای فرزند آن کلاس قابل دسترسی میباشند که در مبحث وراثت به توضیح آن پرداخته ایم.

در اینجا سئوالی ایجاد می شود که رابطه بین اشیاء چگونه ایجاد می شود؟

یعنی مثلاً شئ لست پیوندی از کجا متوجه میشود که مثلاً باید یکی از نود هایش را حذف کند؟

در روش شئ گرا این وظیفه را  پیام ها بر عهده دارند که در ادامه به توضیح این مکانیزم میپردازیم.

نويسنده: سيدمحمود شجاعي كياسري