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

برای ورود به مبحث شی گرایی، لازم است با مفاهیم برنامه نویسی شی گرا آشنا شویم. در ادامه با مفهوم کلاس در شی گرایی و همچنین شی آشنا می شویم و در این راستا از مثال های بسیار ساده استفاده می شود.برنامه نویسی شی گراء یا OOP مخفف Object Oriented Programming می باشد.قبل از هر چیز می خواهیم بدونیم برنامه نویسی شی گراء یا Object Oriented Programming یعنی چه؟اگر به عالم واقعیت نگاه کنید در عالمی زندگی می کنید پر از اشیاء مثل ماشین،صندلی،کفش،کیف یا هر چیز دیگری که در دنیای واقعی می بینید یک شی است.صفت : اشیاء ترکیبی از اجزای داده ای هستند که به آن ها صفت می گویند.متد: و همین اشیاء مجمو عه ای از رفتارها دارند که به آن ها متد می گویند.مثال: یک ماشین را در نظر می گیریم، یک ماشین رنگ دارد ،در دارد ،تعدادی لاستیک دارد ،موتور دارد و الی آخر که به این ویژگی ها صفت می گویند.همین ماشین می تواند حرکت کند ،سرعت بگیرد،ترمز کند خاموش شود و الی آخر که به مجموعه ی این رفتارها متد می گویند.برنامه نویس داخل دنیایی پر از اشیا زندگی می کند که این اشیا در کنار همدیگر بر روی هم تاثیر می گذارند.بنابراین اگر برنامه نویس برنامه را به شکلی طراحی کند که ترکیبی از اشیاء باشد که این اشیا بر روی هم تاثیر بگذارند برنامه نویسی بسیار به شکل واقعی می رسد .تکنیکی که سعی می کند برنامه نویسی را دقیقا شبیه عالم واقعیت ایجاد کند یا بهتر بگوییم در برنامه نویسی عالم واقعیت را مدل کند بهش برنامه نویسی شی گراء یا Object Oriented Programming می گویند.درک کردیم که برنامه نویسی شی گرا یعنی شبیه سازی کردن عالم واقعیت عیناً در برنامه نویسیمفاهیم برنامه نویسی شی گراکلاس چیستتفاوت کلاس و اشیاءسطوح دسترسیکپسوله سازی Encapsulationوراثتمفهوم کلاس در شی گراییکلاس: یک تعریف ضمنی از یک چیز یا مفهوم در دنیای واقعی استدر برنامه نویسی شی گرا تمرکز برنامه نویس باید روی تشخیص کلاس ها و ایجاد کلاس ها باشد، کلاس قالب یک موجودیت است به عنوان مثال یک ماشین را در نظر می گیریم برای اینکه اشیاء یک ماشین تشکیل بشه باید طرح اولیه و نقشه ی ماشین وجود داشته باشد داخل این نقشه ابعاد ماشین، تعداد لاستیک ها، تعداد درها و ……. ترسیم شده است.از روی این طراحی می توانیم تعداد زیادی ماشین بسازیم ولی این ماشین ها می توانند خصوصیات متفاوتی داشته باشند مثلا رنگ یک ماشین سبز یا یکی از آنها آبی یا قرمز باشد.برای مثال: Object: به نمونه هایی که از این نقشه ساخته بشن Object می گویند.پس قالب یک موجودیت می شود کلاس و نمونه های ایجاد شده از روی این کلاس می شود شی.شی وجود فیزیکی دارد و می تواند چند نمونه از روی قالب باشد که فقط می تواند از نظر خصوصیات با هم متفاوت باشد مثلاً یکی از ماشین ها آبی و دیگری قرمز باشد یا اینکه مدل یکی 90 باشد و مدل دیگری 96 باشد. اما کلاس فقط قالب یک شی را بیان می کند در اصل کسی نمی تواند توی نقشه ی ماشین بنشیند و رانندگی کند و به مسافرت برود در واقع باید از روی آن نقشه ماشینی ساخته بشود تا بتوان رانندگی کرد و از آن استفاده کرد.مثال دیگری می توانیم بزنیم، رابطه ی بین نقشه ی ساختمان و خود ساختمان را در نظر می گیریم.نقشه ی ساختمان معادل کلاس است که از روی این نقشه ساختمان می شود تعداد زیادی ساختمان ساخت که دقیقا شبیه به هم هستند ولی می توانند خصوصیات آنها متفاوت باشد مثلا رنگ درها , رنگ دیوار ها, جنس کابینت و الی آخر با هم متفاوت باشد.پس نقشه ی ساختمان معادل کلاس است که قالب یک موجودیت بنام ساختمان را نشان می دهد و ساختمان هایی که از آن ساخته می شوند و از مصالحی مثل آجر و سیمان و …………. در عالم واقعیت استفاده می کنند معادل شی هستند.از روی کلاس می شود n تا شی ساخت همان طور که از یک عدد نقشه ی ساختمان می شود n تا ساختمان ساخت اما می توانند از نظر ظاهری با هم متفاوت باشند.ممنون که در این آموزش با ما همراه بودید. اگر دوست داشتید برای دوستان خود ارسال کنید.