سلام دوست عزیز
مباحث شی گرایی، یک مبحث نیست که کسی بخواد اینجا در یک جمله برای شما توضیحش بده.
باید مباحث را درک کنید، به طور خلاصه شی و موجودیت به اینصورت میشه تعریفش کرد که: یک شی هم دارای خصوصیات هست و هم رفتار مختص به خودش ، مثلا ماشین: خصوصیات اون رنگشه و .. و رفتاری مثلا حرکت کردنه، یا انسان را یک شی در نظر بگیرید! خصوصیاتش مثلا یکیش رنگ چشمشه، و رفتارش مثلا حرف زدنه، ببینید جهانی که ما در آن زندگی می کنیم جهان شی گراست، یعنی دلیل اینکه این جهان توانسته این همه سال دووم بیاره بخاطر شی گرا بودنه اونه. لحظه ای که طراحان کامپایلر خواستند تمام مشکلات و هرج و مرج های برنامه نویسی را حل کنند، برخوردند به مفهوم شی. برات مثال می زنم: فرض کنیم نشستیم تووی کلاس درسی! یهو میشنویم که یه صدایی داره میاد بعد میریم در کلاس را باز می کنیم و می بینیم که بله کسی داره با تلفن همراش صحبت می کنه! حالا جهان غیر شی گرا را در نظر بگیرید! نشستیم تو کلاس یه صدایی میاد! هرچی می گردیم عاملش را پیدا نمی کنم! می بینیم که یه نفر رفتار حرف زدنش را اینجا جا گذاشته و رفته! اصلا غیر قابل قبوله و در واقع جهان شی گرا جهانی که هر رفتاری وابسه به شی او داره. یا یه مثال دیگه فرض کنید شما یه خودکار به من بدید. من می بینم که رنگ نداره، میگید بیا این رنگش، می گم این که نمی نویسه! می گید ببخشید یادم رفته بود،اینم رفتار نوشتنش !!!!!!! اصلا در ذهن شما چنین چیزی قرار می گیره و درکش می کنید که جهان غیر شی گرا باشه؟ مطمئنا "نه". خوب تا اینجا گرفتید شی چیه، حالا براتون یه مثال دیگه می زنم، اگه یادتون باشه در محیط برنامه نوسی ++C ما یه main داشتیم که برنامه از اونجا آغاز می شد، و بعد اگه می خواستیم می رفتیم یه شی که همون Class بود را تعریف می کردیم و ازش تو main استفاده می کردیم، ولی در زبان #C میبینیم که حتی خود main هم شده زیر مجموعه و در واقع رفتار یک کلاس، این رویکرد دوگانه که اول مین باشه و بعد کلاس یا اول کلاس باشه و بعد مین به خاطر اینه که در ++C تمرکز بر اجرا بود نه ساختار ولی در سی شارپ تمرکز روی ساختاره به همین خاطر هم هست که برنامه نویس سی شارپ 3 روزه که داره کد می نویسه ولی هنوز هیچ اجرایی از برنامه نگرفته چون می دونه که ساختارش را باید اول بسازه! مثل این می مونه که شما بخواید یه خونه بسازید، بعد وقتی می خواید بسازیدش تا یه اتاق ساختید برید توش بخوابید حالا اگه خوب بود بعد دوباره برید حمام اونا بسازید اگه باز تست کردید و خوب بود به همین ترتیب! اما به این صورت نیست، شما قبول می کنید که عناصر چیده بشه رنگم بشه و ... بعد میرید توی اون خونهه. درسته؟ اوکی تا اینجا فهمیدیم شی چیه ساختار چیه رفتار یک شی چیه و همچنین خصوصیت شی، مثال سادش برای تعریف شی همون Class میشه اگه متدی در اون بنویسید میشه رفتارش و اگه مثلا Properte توی اون کلاس تعریف کنید میشه خصوصیت اون شی. اوکی؟ خوب یه دنیا حرف هست برای شی گرایی مثلا ارث بری از یک کلاس و عقیم کردن یک کلاس و... ، امیدوارم متوجه شده باشد شی چیه، خواستید بیاید روی ID شخصی من تا بیشتر راهنماییتون کنم، با تشکر از مهندس کیانیان که خیلی دوستش دارم و یکی از بزرگان برنامه نویسی اصفهانه، من اینا رو از ایشون یادگرفتم.
یه نمونه کلاس و رفتار هم برات میزارم ببینش
Class Car{
Color c;
Public void Harekat(){
}}
موفق باشید
FEEL GOOD, Thanks GOD