شی (مقاهیم شی گرایی)


شما دنیا را چگونه می بینید ؟

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

 

یک شی چست ؟

یک شی می تواند یک موجودیت فیزیکی باشد ، مانند یک کتاب ، یک صندلی. شما می توانید یک کتاب را توصیف کنید ، آنرا بخوانید و آنرا بخرید.

یک شی می تواند یک موجودیت غیر فیزیکی و غیر قابل لمس (intangible) باشد ، مانند یک کار یا زمان. با اینکه یک کار چیزی است که شما بصورت فیزیکی نمی توانید آنرا لمس کنید اما می توانید آنرا توصیف کنید ، روی آن بحث کنید ، آنرا انجام بدهید و تکمیل کنید. هر چیزی که بتوانید آنرا توصیف کنید می تواند به عنوان یک شی در نظر گرفته شود.

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

  1. صفات(attributes) : صفات ویژگیهای یک شی را بیان می کند. در واقع یک صفت یک ویژگی از یک شی است مانند صفت نام برای یک فرد. صفات توصیف کننده یک شی هستند و با استفاده از مقادیر صفات می توان وضعیت فعلی یک شی را بدست آورد. برای مثال یک فرد می تواند دارای صفت تاهل باشد که با استفاده از مقدار این صفت می توان وضعیت تاهل آن فرد را در شرایط فعلی بدست آورد.
  2. رفتار(behaviors): یک رفتار عملی است که یک شی توانایی انجام دادن آن را دارد. برای مثال یک شخص می تواند راه برود ، بدود ، بنشیند و هزاران کار دیگری که قادر به انجام دادن آن است که هر کدام از این کارها برای آن شخص یک رفتار محسوب می شود. یک سوال یک کتاب می تواند چه رفتاری داشته باشد. آیا یک کتاب قادر به انجام دادن کاری است تا به عنوان یک رفتار برای آن شی به حساب آید ؟ شی کتاب در حقیقت قادر به انجام هیچ کاری نیست. یک ناشر برای انتشار یک کتاب کارهای مانند ویرایش کتاب ، چاپ کتاب ، توزیع کتاب و در آخر فروش کتاب را انجام می دهد. این کارها توسط یک نفر بر روی کتاب انجام می گیرد. متدلوژی شی گرا به ما می گوید که این رفتارها را به جای فردی که این کارها را انجام می دهد را به شی کتاب تخصیص بدهیم.