شئ‌گرایی یکی از مفاهیم مهم و حیاتی در حیطه زبان‌های برنامه‌نویسی است، به گونه‌ای که می‌توان تمام زبان‌های برنامه‌نویسی را به دو نسل شئ‌گرا  و غیر شئ‌گرا (زبان‌های قدیمی و منسوخ شده‌‌ای مانند Ansic، Basic و StdPascal) تقسیم نمود.

با استفاده از برنامه‌نویسی شئ‌گرا، می‌توان کدهای یک برنامه را به گروه‌های مستقلی به نام شئ تقسیم نموده و آنها را مدیریت نمود. شئ یک مفهوم انتزاعی است. در حقیقت منظور از شئ، مجموعه‌ای از متغیر‌ها و توابع به هم پیوسته است که در تعامل با یکدیگر عمل نموده و هر کدام از آنها بخشی از کار یک موجودیت واحد را بر عهده می‌گیرند.

برای تعریف مفهوم شئ‌گرایی می‌توان از مثال ساده و معروف اتوموبیل استفاده نمود.

تصور نمایید که قصد داشته باشیم تمام عملکرد یک اتوموبیل را از ویژگی‌های ظاهری مانند رنگ، نوع، شکل، اندازه، وزن، تا عملکردهایی مانند روشن شدن، چرخیدن چرخ‌ها، مصرف سوخت، حرکت کردن و غیره به صورت دستورات برنامه‌نویسی پیاده سازی کنیم.

روشن است که برای شبیه‌سازی چنین موجودیتی، نمی‌توان از روش‌های کدنویسی عادی استفاده نمود. تنوع ویژگی‌ها و عملکردهای موجود در یک اتوموبیل و همچنین وابستگی موجود میان اجزای آن، نیاز به یک ساختار منظم و هماهنگ را مطرح می‌کند.

هر چند که ممکن است این ساختار با تعریف متغیرها و توابع متعدد قابل دسترس باشد، اما هماهنگ نمودن تمامی این اجزاء برای رسیدن به یک هدف واحد که همان عملکرد اتوموبیل است، کار دشواری می‌باشد.

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

به منظور کسب آمادگی برای شروع مبحث شئ‌گرایی بهتر است که ابتدا مرور مختصری بر اصطلاحات و مفاهیم مورد نیاز در این مبحث داشته باشیم:

حوزه عملکرد یا فضای نام (Namespace):

نوعی صفت عام است که به متغیرها یا توابع یک کلاس نسبت داده شده و بازه دسترسی‌پذیری آنها را در ارتباط با دیگر اجزای برنامه مشخص می‌نماید. به عنوان مثال، public و private دو حوزه عملکرد هستند که سطوح دسترسی عمومی و محلی را در شئ‌گرایی تعریف می‌کنند.

کلاس (Class):

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

سلسله مراتب (Hierarchy):

ساختاری است که بر اساس آن امکان اشتقاق یا ارث‌بری در کلاس‌های جزء و کل یا پدر و فرزند تعریف می‌شود.

ارث‌بری (Inheritance):

مفهومی است که به موجب آن یک کلاس می‌تواند کلیه عملگرها و ویژگی‌های یک کلاس دیگر را در خود داشته باشد. در چنین حالتی کلاس اول (به ارث برنده)، فرزند و کلاس دوم والد یا پدر نام می‌گیرد.

نمونه (Instance):

پس از تعریف یک شئ به وسیله یک کلاس، برای استفاده از آن در محیط برنامه‌نویسی باید متغیری از نوع کلاس مربوطه تعریف شود. به این متغیر در اصطلاح، instance گفته می‌شود.

صفت (Property):

ویژگی‌ها یا متغیرهای موجود در یک کلاس، صفات کلاس نامیده می‌شوند.

عملکرد یا متد (Method):

برای تولید اشیاء علاوه بر متغیرها به توابع هم نیاز داریم که توابع تعریف شده در یک کلاس، متد هم نامیده می‌شوند.

رویداد (Event):

یکی از مهمترین مفاهیمی که معمولاً برای تکمیل ساختار یک کلاس مورد استفاده قرار می‌گیرد رویداد است. رویداد در شئ‌گرایی به معنی انتظار برای رخ دادن یک اتفاق خاص و انجام عمل مقتضی می‌باشد.

Print this pageEmail this to someoneShare on Google+Share on FacebookShare on LinkedInTweet about this on TwitterShare on RedditShare on TumblrShare on StumbleUponPin on Pinterest