کیوی

وبلاگی در مورد سی شارپ و ASP.NET

کیوی

وبلاگی در مورد سی شارپ و ASP.NET

شیئ گرایی به زبان بسیار ساده

دوشنبه, ۸ شهریور ۱۳۹۵، ۰۶:۳۵ ب.ظ

object oriented programming


شیئ گرایی یا Object Oriented Programming چیست؟

شاید بهترین جمله برای شروع این آموزش این باشد : زبان شیئ گرا، زبان کلاس ها و اشیاء است.

در این نوع زبان ها با داده ها همانند اشیاء برخورد می شود و در نتیجه کارهای زیادی می توان با هر کدام از این اشیاء انجام داد.


اشیاء و کلاس هایشان

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

با توجه به چیز هایی که گفته شد به زبان شیئ گرا باید گفت "زبان کلاس ها و اشیاء". در این جمله به این دلیل ابتدا از کلمه ی کلاس استفاده شده و بعد اشیاء که بدون کلاس در واقع هیچ شیئی نیز وجود نخواهد داشت، درست مثل نقشه ی ساختمان. در نقشه اشاره ای به رنگ در یا نوع کابینت نشده اما جایگاه آن در نقشه تعبیه شده است.


حال چرا باید از برنامه نویسی شیء گرا استفاده کرد؟

اینگونه فرض کنید که در حال نوشتن برنامه ی مورد نظر هستید که رئیس شما ناگهان تصمیم می گیرد نیمی از خانه ها 3 اتاق خواب داشته باشند و نیمی دیگر 4 اتاق.

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

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

ادامه دارد


  • payam asn

نظرات (۰)

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