زبان برنامه سازی C# یکی از قدرتمندترین زبان های برنامه سازی است، امروزه Platform.Net یکی از بهترین محیط های تولید محصولات نرم افزاری به شمار می رود و زبان C# یکی از زبان های برنامه سازی شی گرا این Platform است. با به کارگیری برنامه نویسی شی گرا، نرم افزار تولید شده بسیار قابل فهم تر شده، نگهداری و سازماندهی آن اصولی تر و اصلاح و خطایابی آن ساده تر می شود. این موارد از اهمیت خاصی برخوردار هستند چراکه تخمین زده می شود که هشتاد در صد هزینه یک نرم افزار مربوط به دوره نگهداری و ارتقاء آن در چرخه طول عمرش است و ارتباطی با نوشتن و توسعه اولیه نرم افزار ندارد. با تمام این اوصاف، مشخص است که برنامه نویسی شی گرا تبدیل به یکی از کلیدی ترین مفاهیم برنامه نویسی در چند دهه آینده خواهد شد.
ما در دنیایی از اشیاء زندگی می کنیم. کافی است نگاهی به اطراف خود بی اندازیم. اطراف ما پر است از اتومبیل ها، هواپیماها، انسان ها، حیوانات، ساختمان ها، چراغ های ترافیک، بالابرها و بسیاری از چیزهای دیگر. قبل از اینکه زبان های برنامه نویسی شی گرا ابداع شوند، زبان های برنامه نویسی (همانند FORTRAN، Pascal، C و Basic) بر روی اعمال یا Actions بجای چیزها یا اشیاء تمرکز داشتند. با اینکه برنامه نویسان در دنیایی از اشیاء زندگی می کردند اما با افعال سرگرم بودند. خود همین تناقض باعث شد تا برنامه های نوشته شده از قدرت کافی برخوردار نباشند. هم اکنون که زبان های برنامه نویسی شی ءگرا همانند C# و Java در دسترس هستند، برنامه نویسان به زندگی خود در یک دنیای شی ءگرا ادامه می دهند و می توانند برنامه های خود را با اسلوب شی ءگرا بنویسند. فرآیند برنامه نویسی شی ءگرا در مقایسه با برنامه نویسی روالی (Procedural) ماهیت بسیار طبیعی تری دارد و نتیجه آن هم رضایت بخش تر است.
در بخش اول مفاهیم برنامه نویسی شی گرا به شرح زیر بیان می گردد:
- کلاس ها و اشیاء
- تعیین کننده های دسترسی
- کپسوله سازی
- وراثت
- واسط
- چندریختی
- خلاصه سازی و تجرد
- کلاس های انتزاعی
در ادامه با مثال های ساده مفاهیم فوق بصورت عملی پیاده سازی می گردد و از اواسط آموزش به بعد با مثال های کاربردی و واقعی مفاهیم شی گرا را بثورت عملی پیاده سازی می کنیم.
فهرست سرفصل ها و مباحث مطرح شده در این دوره آموزشی، در ادامه آمده اند:
- درس اول: مفاهیم پایه ای شی گرایی
- درس دوم: کلاس و شی
- درس سوم: سازنده ها و مخرب ها
- درس چهارم: توابع یوتیلیتی
- درس پنجم: بازنویسی رفتارهای کلاس و مفهوم Params
- درس شیشم: اجزاء داده ای و تابعی Static
- درس هفتم: وراثت
- درس هشتم: کلاس های Abstract، Sealed، Partial، Nested
- درس نهم: انواع بدون نام Anonymous Typ
- درس دهم: Interface
- درس یازدهم: Polymorphism
- درس دوازدهم: Func
- درس سیزدهم: Event
- درس چهاردهم: Indexer
سلمه صالح پور :
واقعا دست مریزاد آقای شجاعی.
مرسی.
خلیل غبیشاوی :
با سلام.
واقعا دست جناب آقای مهندش شجاعی درد نکند، ارائه مطالب در حد تیم ملی می باشد.
سعید :
سلام، از اینکه استاد شجاعی مطالب رو به زیبایی شرح و تدریس میکنند جا داره دستشون ببوسم.
امیدوارم که دیگر فصول مربوط به سی شارپ هم (مثل بحث XAML، Entity و …) رو در فرادرس منتشر کنند، تا ما بیشتر از دانش شون در برنامه نویسی بهره مند بشیم.
hani :
واقعا عالی بود.
ممنونم آقای شجاعی عزیز.
من منتظر آموزش های بعدی از شما هستم.
عباس :
خیلی خوب و پایه ای آموزش داده شده و جای تشکر داره.
فقط جناب شجاعی از تکیه کلام “الی آخر” زیاد استفاده میکنن.