ادامه . . .
--------------------------------------2.4.3
Message passing
یک مسیج یک جنرال متد است که باعث می شود یک شئ یک رفتار خاص را انجام دهد وتفاوت آن با یک متد این است که یک مسیج دستور انجام یک عمل خاص است ولی یک متد شیوه ی اجرای آن عمل است.
یکی از کاربرد های این شیوه در سیستم های شبکه ای امروزی میباشد.
فرض کنید در یک شبکه برنامه ای به روش ساخت یافته ایجاد شده است و در یک لحظه خاص 100 تابع در حال اجرا شدن میباشند. اگر هر یک از توابع فقط به یک پارامتر نیاز داشته باشند واین پارامتر هم از نوع آرایه یا رکورد نباشد ویک متغیر معمولی باشد باید 100 متغیر هم زمان به 100 تابع پاس شوند وبعد هم نتایج توابع بازگردانده شوند در حالی که اگر از روش شئ گرا استفاده می شد تمام این توابع توسط 100 پیام یا میسج انجام میشدند زیرا تمام توابع چون با داده ها در یک کلاس کپسوله شده اند به آنها مستقیماً دسترسی دارند.
---------------------------------3.4.3
:Inheritance(2
وراثت نیز یکی از مفاهیم مهم و پر کاربرد در روش شئ گرا می باشد.
این مفهوم از زمانی بوجود آمد که در یک سیستم کلاس هایی وجود داشتند که یکی از آنها دارای بسیاری از ویژگی های سایر کلاسها ی دیگر بود.
وراثت در روش شئ گرا به این مفهوم است که یک کلاس را به عنوان کلاس پدر در نظر میگیریم و سایر کلاس ها را به عنوان فرزند برای کلاس پدر تعریف می کنیم.به این ترتیب کلیه عناصر کلاس پدر که از نوع حفاظت شده تعریف شده اند به فرزندان به ارث میرسد . البته باید توجه داشت که عناصر عمومی و اختصاصی به ارث نمی رسند.
به این مثال توجه کنید:
تصور کنید در برنامه ای نیاز به تعریف چندین کلاس برای ایجاد شئ های ماشین های مختلف داریم. در حالت عادی باید شروع به تهریف این کلاس ها کنیم و برای هر یک از آنها یکسری خصوصیات ورفتار ایجاد کنیم اما اگر کمی دقت کنیم متوجه خواهیم شد که بسیاری از این عناصر بین تمام انواع ماشین ها مشترک است.
عناصری از قبیل:
خواص:
نام
رنگ
شماره شاسی
تعداد سرنشین
و . . .
رفتارها:
حرکت کردن
ایستادن
مسافر حمل کردن
و . . .
پس چرا باید این عناصر را برای هر کلاس مجدداً ایجاد کنیم ؟
آیا بهتر نیست سیستمی اتخاذ شود تا این عناصر مشترک فقط برای یک کلاس تعریف شود ولی در همه کلاس ها استفاده شود؟
این سیستم همن سیستم وراثت است.
به این ترتیب که برنامه نویس تمامی عناصر مشترک را در کلاس پدر از نوع حفاظت شده تعریف میکند. در این سیستم دو دسته از کلاس ها ایجاد میشوند:
base class or super class(1
drive class or sub class(2
base class
|
ماشین |
|
سواری |
|
کامیون |
|
بنز |
|
بی ام و |
Sub classes
نويسنده: سيدمحمود شجاعي كياسري