در این فرادرس به آموزش شی گرایی در سی شارپ می پردازیم . زبان برنامه سازی C# یکی از قدرتمندترین زبان های برنامه سازی است، امروزه Platform.Net یکی از بهترین محیط های تولید محصولات نرم افزاری به شمار می رود و زبان C# یکی از زبان های برنامه سازی شی گرا این Platform است. با به کارگیری شی گرایی در سی شارپ، نرم افزار تولید شده بسیار قابل فهم تر شده، نگهداری و سازماندهی آن اصولی تر و اصلاح و خطایابی آن ساده تر می شود. این موارد از اهمیت خاصی برخوردار هستند چراکه تخمین زده می شود که هشتاد در صد هزینه یک نرم افزار مربوط به دوره نگهداری و ارتقا آن در چرخه طول عمرش است و ارتباطی با نوشتن و توسعه اولیه نرم افزار ندارد. با تمام این اوصاف، مشخص است که برنامه نویسی شی گرا تبدیل به یکی از کلیدی ترین مفاهیم برنامه نویسی در چند دهه آینده خواهد شد.
ما در دنیایی از اشیا زندگی می کنیم. کافی است نگاهی به اطراف خود بی اندازیم. اطراف ما پر است از اتومبیل ها، هواپیما ها، انسان ها، حیوانات، ساختمان ها، چراغ های ترافیک، بالابر ها و بسیاری از چیزهای دیگر. قبل از اینکه زبان های برنامه نویسی شی گرا ابداع شوند، زبان های برنامه نویسی (همانند FORTRAN، Pascal، C و Basic) بر روی اعمال یا Actions بجای چیزها یا اشیا تمرکز داشتند. با اینکه برنامه نویسان در دنیایی از اشیا زندگی می کردند اما با افعال سرگرم بودند. خود همین تناقض باعث شد تا برنامه های نوشته شده از قدرت کافی برخوردار نباشند. هم اکنون که زبان های برنامه نویسی شی گرا همانند C# و Java در دسترس هستند، برنامه نویسان به زندگی خود در یک دنیای شی گرا ادامه می دهند و می توانند برنامه های خود را با اسلوب شی گرا بنویسند. فرآیند برنامه نویسی شی گرا در مقایسه با برنامه نویسی روالی (Procedural) ماهیت بسیار طبیعی تری دارد و نتیجه آن هم رضایت بخش تر است.
در بخش اول مفاهیم برنامه نویسی شی گرا به شرح زیر بیان می گردد:
- کلاس ها و اشیا
- تعیین کننده های دسترسی
- کپسوله سازی
- وراثت
- واسط
- چندریختی
- خلاصه سازی و تجرد
- کلاس های انتزاعی
در ادامه با مثال های ساده مفاهیم فوق بصورت عملی پیاده سازی می گردد و از اواسط آموزش به بعد با مثال های کاربردی و واقعی مفاهیم شی گرا را بصورت عملی پیاده سازی می کنیم.
فهرست سرفصل ها و مباحث مطرح شده در این دوره آموزشی، در ادامه آمده اند:
- درس یکم: شی گرایی به همراه پیاده سازی عملی در سی شارپ
- درس دوم: بازنویسی عملگرها (Operator overloading) به همراه پیاده سازی مثال MyDate
- درس سوم: وراثت (Inheritance) به همراه پیاده سازی سیستم پرداخت حقوق و دستمزد کارمندان با ساختار سلسله مراتب
- درس چهارم: Indexerها به همراه پیاده سازی مثال کاربردی چندضلعی ها
- درس پنجم: چندریختی (Polymorphism) به همراه پیاده سازی مثال سیستم پرداخت حقوق و دستمزد یکسان شرکت
- درس ششم: واسط ها (Interface) به همراه پیاده سازی مثال سیستم پرداخت حقوق و دستمزد یکسان شرکت
- درس هفتم: Delegate و Event به همراه پیاده سازی مثال سیستم اطلاع رسانی به شکل Notification
- درس هشتم: مدیریت استثنا (Exception handling) به همراه بازنویسی مجدد مثال چندضلعی ها
سلمه صالح پور :
واقعا دست مریزاد آقای شجاعی.
مرسی.
خلیل غبیشاوی :
با سلام.
واقعا دست جناب آقای مهندش شجاعی درد نکند، ارائه مطالب در حد تیم ملی می باشد.
سعید :
سلام، از اینکه استاد شجاعی مطالب رو به زیبایی شرح و تدریس میکنند جا داره دستشون ببوسم.
امیدوارم که دیگر فصول مربوط به سی شارپ هم (مثل بحث XAML، Entity و …) رو در فرادرس منتشر کنند، تا ما بیشتر از دانش شون در برنامه نویسی بهره مند بشیم.
hani :
واقعا عالی بود.
ممنونم آقای شجاعی عزیز.
من منتظر آموزش های بعدی از شما هستم.
عباس :
خیلی خوب و پایه ای آموزش داده شده و جای تشکر داره.
فقط جناب شجاعی از تکیه کلام “الی آخر” زیاد استفاده میکنن.
سیامک :
با عرض سلام وخسته نباشید به همه عزیزان در فرادرس واقعا آموزشها ی سایت فرادرس خیلی خیلی خیلی خوبه
آقای شجاعی فوق العاده هستین و….
ah :
کیفیت تدریس استاندارد هست واقعا همچین آموزش هایی تو ایران لازمه چون سیستم آموزشی سنتی غیر استاندارد هستن
اینجور تدریس های استاندارد باعث پیشرفت علمی میشن
یک جمله میگم برای راحت کردن خیال اونایی که میخوان این آموزش رو تهیه کنن : مدرس در طول ۱۴ ساعت تدریس همه مباحث رو مفید و به جا تدریس کردند.
ماهری :
با سلام ، آموزش آقای رشیدی بسیار عالی است ، لطفا تدریس مباحث parallel programing رو هم بوسیله ایشان در سایت قرار دهید. با تشکر
احسان پرویزی :
من آموزش های زیادی دیدم اما هیچکدوم به با کیفیتی این آموزش نبودن.سبک آموزش مدرس( آقای رشید شجاعی) بسیار عالی هست.تا حالا مدرسی ندیده بودم که اینقدر ” با حوصله ” آموزش بدن.
دوست دارم آقای رشید شجاعی آموزشهای بیشتری مثل Entity Framework هم ارائه بدن.
Hassan :
من از آقای مهندس شجاعی بسیار تشکر میکنم که اینقدر کامل و با حوصله مطالب را بیان می کنند و ایشان یک مدرس بی نظیر هستند
درخواست من از فرادرس این است که آموزش های کاربردی دیگری در رابطه با زبان سی شارپ با تدریس مهندس شجاعی تهیه کنند
پوریا نوروزی :
سلام …
خواستم یه تشکر ویژه بکنم از شما و مخصوصا مهندس شجاعی عزیز ، واقعا واقعا واقعا فوق العاده تدریس میکنند ، من الان ویدیوی پنجم رو دارم میبینم و انقدر لذت بردم که از وسط ویدیو اومدم یه تشکر کنم و دوباره برگردم سر درس (: …
لطفا برای درس های بیشتری از ایشون استفاده کنید ….
عالی بود …. عالی …
محمد :
عالی
عین الهی :
انصافا فن بیان و انتقال مطلب استاد شجاعی خود بود تشکر میکنم از ایشان
mahsa :
واقعا عالی بود…
خسته نباشید
مهرداد :
من تتها جایی که تونستم به بهترین صورت ممکن شی گرایی رو یاد بگیرم در محضر استاد شجاعی عزیز بود. واقعا از مجموعه بزرگ فرادرس تشکر میکنم که هنچین اساتید برجسته ای رو انتخاب میکنن . کیفیت تصویر ویدیو ها هم حرف نداره. توصیه میکنم برا کسایی که اول راه هستن حتما این آموزش رو تهیه کنن و ببینن. هم از پایه شروع میکنه هم لذت برنامه نویس شدن رو لحظه به لحظه حس میکنن. به امید موفقیت استاد عزیز و مجموعه فرادرس
رضا :
با عرض سلام و خسته نباشید ممنون از سایت خوب فرادرس بابت تهیه این آموزش ها. در مورد این آموزش میتونم بگم که واقعا جامع و کامل هست و تمامی نکات شی گرایی به خوبی درس داده می شود البته گاهی اوقات سرعت تدریس کمی بالا می رود ولی مفاهیم باز هم به خوبی تدریس می شوند و قابل فهم هستند من بقیه آموزش های مهندس رشید شجاعی رو هم کم وبیش دیدم و میتونم بگم واقعا بی نظیر درس میدهند. کاش می شد کلاس های درسی دانشگاه هم به همین خوبی تدریس کنند.
محمد :
سلام
خیلی عالی بود به همه دوستانی که دنبال مرجع کامل برای OOP هستند این اموزش رو پیشنهاد میکنم
ممنون ار فرادرس و اقای شجاعی
mehdi :
با سلام و خسته نباشید به تیم فرادرس
بچه های که می خوان مجموعه های سی شارپ را تهیه کنم لازمه بهتون بگم که اون مقدار ساعت که نوشته ۱۳ یا ۱۴ ساعت محتوای فیلم آموزشی هست.
حجم اطلاعتی که بهتون می ده به اندازه یک ترم دانشگاهتون و حتی هم بیشتر هست.
پول اضافه بیخودی به آموزش های متفرقه ندید.
فقط فرادرس
تشکرات