آشنایی با مفاهیم برنامه نویسی شی گرا

برای ورود به مبحث شی گرایی، لازم است با مفاهیم برنامه نویسی شی گرا آشنا شویم. در ادامه با مفهوم کلاس در شی گرایی و همچنین شی آشنا می شویم و در این راستا از مثال های بسیار ساده استفاده می شود.

برنامه نویسی شی گراء یا OOP مخفف Object Oriented Programming می باشد.

قبل از هر چیز می خواهیم بدونیم برنامه نویسی شی گراء یا Object Oriented Programming یعنی چه؟

اگر به عالم واقعیت نگاه کنید در عالمی زندگی می کنید پر از اشیاء مثل ماشین،صندلی،کفش،کیف یا هر چیز دیگری که در دنیای واقعی می بینید یک شی است.

 

صفت : اشیاء ترکیبی از اجزای داده ای هستند که به آن ها صفت می گویند.

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

 

مثال: یک ماشین را در نظر می گیریم، یک ماشین رنگ دارد ،در دارد ،تعدادی لاستیک دارد ،موتور دارد و الی آخر که به این ویژگی ها صفت می گویند.

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

برنامه نویس داخل دنیایی پر از اشیا زندگی می کند که این اشیا در کنار همدیگر بر روی هم تاثیر می گذارند.

بنابراین اگر برنامه نویس برنامه را به شکلی طراحی کند که ترکیبی از اشیاء باشد که این اشیا بر روی هم تاثیر بگذارند برنامه نویسی بسیار به شکل واقعی می رسد .

تکنیکی که سعی می کند برنامه نویسی را دقیقا شبیه عالم واقعیت ایجاد کند یا بهتر بگوییم در برنامه نویسی عالم واقعیت را مدل کند بهش برنامه نویسی شی گراء یا Object Oriented Programming می گویند.

درک کردیم که برنامه نویسی شی گرا یعنی شبیه سازی کردن عالم واقعیت عیناً در برنامه نویسی

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

  • کلاس چیست
  • تفاوت کلاس و اشیاء
  • سطوح دسترسی
  • کپسوله سازی Encapsulation
  • وراثت

مفهوم کلاس در شی گرایی

کلاس: یک تعریف ضمنی از یک چیز یا مفهوم در دنیای واقعی است

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

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

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

Object: به نمونه هایی که از این نقشه ساخته بشن Object می گویند.

Car Class 

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

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

 

پس قالب یک موجودیت می شود کلاس و نمونه های ایجاد شده از روی این کلاس می شود شی.

شی وجود فیزیکی دارد و می تواند چند نمونه از روی قالب باشد که فقط می تواند از نظر خصوصیات با هم متفاوت باشد مثلاً یکی از ماشین ها آبی و دیگری قرمز باشد یا اینکه مدل یکی 90 باشد و مدل دیگری 96 باشد. اما کلاس فقط قالب یک شی را بیان می کند در اصل کسی نمی تواند توی نقشه ی ماشین بنشیند و رانندگی کند و به مسافرت برود در واقع باید از روی آن نقشه ماشینی ساخته بشود تا بتوان رانندگی کرد و از آن استفاده کرد.

مثال دیگری می توانیم بزنیم، رابطه ی بین نقشه ی ساختمان و خود ساختمان را در نظر می گیریم.

نقشه ی ساختمان معادل کلاس است که از روی این نقشه ساختمان می شود تعداد زیادی ساختمان ساخت که دقیقا شبیه به هم هستند ولی می توانند خصوصیات آنها متفاوت باشد مثلا رنگ درها , رنگ دیوار ها, جنس کابینت و الی آخر با هم متفاوت باشد.

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

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

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

house Class 

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

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

 

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