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