دنیای فناوری

با ما به روز باشید.

دنیای فناوری

با ما به روز باشید.

طبقه بندی موضوعی
  • ۰
  • ۰

شیء گرایی چیست

یکی از معروف‌ترین و مهم‌ترین مدل‌های برنامه نویسی، برنامه نویسی شیء گرا است. برنامه نویسی شیء گرا و یا OOP که مخفف عبارت Object Oriented Programming است برخلاف اسم عجیب و غریبش اصلا مفهوم سختی نیست. بلکه مفهومی بسیار کمک کننده و محبوب در میان برنامه نویسان است.

OOP

در این مقاله شما را با این مفهوم بسیار کاربردی و البته مهم آشنا می کنیم.

برنامه نویسی شیء گرا

شیء گرایی برای اولین بار در سال 1960 میلادی مطرح شد. این مفهوم که در زندگی روزمره ما هم نقشی اساسی دارد، انقلابی بزرگ در برنامه نویسی ایجاد کرد. در این نوع از مدل سازی در برنامه نویسی، همه چیز را در اشیا و کارهایی که انجام می دهند (رفتار آن ها) مدل سازی می کنیم. در واقع زندگی حقیقی خود را در برنامه نویسی شبیه سازی می کنیم.

دنیای شیء گرایی مفهومی مهم به نام کلاس (class) دارد. این مفهوم شامل دو عنصر ویژگی (property) و رفتار (behavior) است. البته از این دو نوع عنصر می تواند تعداد بیشتر از یکی در کلاس وجود داشته باشد. برای این که مفهوم کلاس را بهتر درک کنید اجازه بدهید برایتان مثالی بزنیم.

فرض کنید شما می خواهید کلاسی برای مدل سازی انسان داشته باشید. این کلاس دارای ویژگی هایی است مانند نام و نام خانوادگی و قد و غیره. همین طور انسان دارای رفتارهایی است که ما آن ها را تابع می گوییم. رفتارهایی مانند درس خواندن، راه رفتن و … .

حال برای این که شما بخواهید یک نمونه واضح و ملموس از این کلاس داشته باشید باید از آن کلاس برای خود یک شیء با اسم دلخواه بسازید. مثلا غلی یک انسان است که رفتار و ویژگی های منحصر به فرد خود را دارد.

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

چرا شیء گرایی؟

شیء گرایی

برنامه نویسی شیء گرا انعطاف بسیار زیادی دارد و توسعه آن برای برنامه نویسان بسیار راحت تر است. به همین دلیل از محبوبیت بسیار بالایی نیز برخوردار است. همین موضوع کارایی این مدل از برنامه نویسی را تا حد زیادی افزایش داده است.

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

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

بیان مثال شیء گرایی و توسعه راحت آن

شیء

به عنوان مثال فرض کنید که کلاسی به نام ماشین داریم. این کلاس شامل اتریبیوت ها و یا ویژگی هایی است مانند سرعت، وزن و غیره. همچنین این کلاس می تواند رفتارها و یا توابعی نیز داشته باشد مانند ترمز گرفتن، حرکت کردن، استارت زدن و … که شاکله کلاس ماشین را می سازند.

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

در مقاله ای دیگر به شما مفاهیم مهم شیء گرایی مانند ارث بری و public و private و protected  خواهیم پرداخت.

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

نظرات (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی