برنامهنویسی شیءگرا در سیشارپ
با کلاسها، وراثت، کپسولهسازی و چندریختی در سیشارپ آشنا شوید و طراحی و سازماندهی برنامههای شیءگرا را تمرین کنید.
طراحی کلاسها و سازماندهی کد با رویکرد شیءگرا
آشنایی با شاخهی حل مسئله و الگوریتم
برای ساخت نرمافزار، علاوه بر کدنویسی و حل مسئله، باید بتوان ساختار برنامه را طراحی کرد و ارتباط میان بخشهای آن را نظم داد. این دوره به همین مهارتها میپردازد.
در شاخهی «حل مسئله و الگوریتم» مدرسه فناوری ایرسافام، دانشپذیران ابتدا مهارت تحلیل مسئله، شناخت ساختمان دادهها و طراحی الگوریتمها را تقویت میکنند. سپس با یادگیری برنامهنویسی شیءگرا، با روشهای اصولی طراحی و پیادهسازی نرمافزار آشنا میشوند. در ادامه، مسیر با الگوریتمهای پیشرفته و در نهایت اجرای پروژههای عملی تکمیل میشود.
آشنایی با برنامهنویسی شیءگرا در سیشارپ
برنامهنویسی شیءگرا (Object-Oriented Programming یا OOP) یکی از مهمترین شیوههای طراحی و توسعهی نرمافزار است. در این روش، برنامه به مجموعهای از کلاسها و اشیا تقسیم میشود که هرکدام وظایف، ویژگیها و رفتارهای مشخصی دارند و از طریق ارتباط با یکدیگر، عملکرد کلی نرمافزار را شکل میدهند.
زبان سیشارپ (C#) امکانات گستردهای برای پیادهسازی اصول شیءگرایی فراهم میکند. با استفاده از این امکانات میتوان نرمافزارهایی ساخت که ساختار منظمتری داشته باشند، توسعه و نگهداری آنها آسانتر باشد و قابلیت گسترش و استفادهی مجدد از کدها در آنها وجود داشته باشد.
در این دوره، دانشپذیران از مفاهیم پایهی کلاس و شیء شروع میکنند و بهتدریج با اصول اصلی شیءگرایی، روابط میان کلاسها، وراثت، چندریختی و طراحی ساختارهای پیچیدهتر آشنا میشوند. همچنین با استفاده از تمرینهای متنوع، یاد میگیرند چگونه مسائل واقعی را به کلاسها و اشیای مناسب تبدیل کنند و راهحلهای خود را با رویکرد شیءگرا پیادهسازی کنند.
هدف دوره، تمرین طراحی شیءگرا و استفاده از آن برای ساخت برنامههایی منظم و قابلتوسعه است.
محورهای یادگیری
۱. مبانی برنامهنویسی شیءگرا
- آشنایی با مفهوم و تاریخچهی برنامهنویسی شیءگرا
- تفاوت برنامهنویسی رویهای و شیءگرا
- مفاهیم کلاس (Class) و شیء (Object)
- ویژگیها (Fields) و رفتارها (Methods)
- ایجاد کلاسها و نمونهسازی از آنها
۲. سازندهها و مدیریت اشیا
- مفهوم سازنده (Constructor) و کاربرد آن
- سازندهی پیشفرض و سازندههای پارامتردار
- سربارگذاری سازندهها (Constructor Overloading)
- استفاده از کلمهی کلیدی
this - اعضای ایستا (Static Members)
- طول عمر اشیا و مدیریت آنها
۳. کپسولهسازی (Encapsulation)
- مفهوم پنهانسازی اطلاعات
- سطح دسترسی اعضای کلاس (Access Modifiers)
- آشنایی با
public،private،protectedوinternal - تعریف و استفاده از Properties
- پیادهسازی Getter و Setter
- کنترل و اعتبارسنجی اطلاعات ورودی به اشیا
۴. وراثت (Inheritance)
- مفهوم وراثت و کاربرد آن در طراحی نرمافزار
- ایجاد کلاسهای پایه و مشتقشده
- استفاده از کلمهی کلیدی
base - سازندهها در کلاسهای دارای وراثت
- بازنویسی و توسعهی رفتارهای کلاس پایه
- کلاسهای
sealedو جلوگیری از وراثت
۵. چندریختی (Polymorphism)
- مفهوم چندریختی و کاربرد آن
- سربارگذاری متدها (Method Overloading)
- بازنویسی متدها (Method Overriding)
- استفاده از
virtualوoverride - تفاوت نوع مرجع و نوع واقعی شیء
- پیادهسازی رفتارهای متفاوت با رابط مشترک
۶. کلاسهای انتزاعی و رابطها
- مفهوم انتزاع (Abstraction)
- تعریف و استفاده از کلاسهای انتزاعی (Abstract Classes)
- متدهای انتزاعی و پیادهسازی آنها
- آشنایی با Interface و کاربرد آن
- پیادهسازی چند رابط در یک کلاس
- تفاوت کلاس انتزاعی و Interface
- انتخاب روش مناسب برای طراحی ساختار نرمافزار
۷. روابط میان کلاسها و اشیا
- ارتباط میان کلاسها (Association)
- ترکیب اشیا (Composition)
- تجمیع (Aggregation)
- ایجاد اشیای وابسته به یکدیگر
- طراحی کلاسهای مرتبط و مدیریت ارتباط میان آنها
- پیادهسازی ساختارهای چندکلاسه
۸. مباحث تکمیلی و طراحی شیءگرا
- کار با مجموعهای از اشیا
- استفاده از کلاسها در ساختارهای دادهای مانند
List - آشنایی با کلاسها و متدهای Generic
- سازماندهی کلاسها با Namespace
- تفکیک مسئولیتها و طراحی کلاسهای مستقل
- آشنایی مقدماتی با اصول طراحی نرمافزار شیءگرا
- بررسی و اصلاح طراحیهای نامناسب
۹. تمرینهای عملی و طراحی پروژه
- تبدیل مسائل مختلف به مدلهای شیءگرا
- تشخیص کلاسها، ویژگیها و رفتارهای موردنیاز
- طراحی ارتباط میان اشیا
- استفادهی ترکیبی از وراثت، کپسولهسازی و چندریختی
- تحلیل ساختار برنامه و بهبود طراحی
- پیادهسازی مسائل و پروژههای چندکلاسه
دستاورد دوره
توانایی طراحی و پیادهسازی برنامههای شیءگرا با سیشارپ، شناخت اصول اصلی OOP، طراحی کلاسها، مدیریت ارتباط میان اشیا و سازماندهی اصولی کدها؛ همراه با آمادگی برای ورود به دورهی الگوریتمهای پیشرفته و اجرای پروژههای نرمافزاری پیچیدهتر.
قدم بعدی شما
خرید برنامهنویسی شیءگرا در سیشارپ
۱۵ جلسه سهساعته · ۴۵ ساعت آموزش
