شی گرایی یا Object Oriented Programming یکی از مباحث اصلی و پایه ای برای برنامه نویسی است و یادگیری عمیق آن از اهمیت بالایی برخوردار است.
شی گرایی چیز جدیدی نیست بلکه یک شیوه ی برنامه نویسی است که پروژه ها را میتوانید براساس آن پیاده سازی کنید.
مهم ترین چیزها که در شی گرایی وجود دارد Object ها ( اشیا ) ، Class ها ( کلاس ها ) ، Method ها ( متود ها ) property ها ( پراپرتی ها ) و ... است.
در برنامه نویسی شی گرایی نگاهی که به کدها داریم بصورت موجودیت هایی هست که بارها و بارها از آنها استفاده میشود و این روش سنگ بنای ایجاد پروژه های بزرگ با زبان های برنامه نویسی بوده است.
برای مثال فرض کنید در یک پروژه یک موجودیت به اسم user داریم که این user دارای نام ،نام خانوادگی ، کد ملی و ... است.پس ما اینجا متوجه میشویم هرچیزی که ویژگی های لازم برای user بودن را که ما پیشتر تعریف کردیم داشته باشد یک شی از نوع user حساب میشود.
این روش برنامه نویسی از دنیای اطراف ما الهام گرفته شده از اشیایی مثل میز ، کامپیوتر ، خودکار ، درخت و ...
فرض کنید یک کارخانه ی تولید ماشین که مدل X ماشین را تولید میکند داریم
این کارخانه برای تولید یک مدل خاص از ماشین یک نقشه ی اولیه طراحی کرده است ( در برنامه نویسی شی گرا به آن کلاس میگوییم )
سپس براساس آن نقشه روزانه چندین ماشین تولید میشود با نام خاص ، رنگ خاص و مدل خاص ( در برنامه نویسی شی گرا به آنها شی یا آبجکت مگوییم)
این روش از برنامه نویسی در طول سالهای ۱۹۶۶ تا ۱۹۶۷ توسط Alan Kay که آن زمان دانش آموز دبیرستانی بود ابداع شد ولی قبلتر از اون در دانشگاه MIT فلسفه ی اشیا و رویکرد آن در سالهای ۱۹۵۰ تا ۱۹۶۰ تعریف شده بود.
شی گرایی بصورت جدی برای اولین در زبان برنامه نویسی به اسم Simula به کار برده شد و بعد ها آرام آرام در زبان های برنامه نویسی دیگر نیز نفوذ کرد.
زبان هایی مثل c++ ، delphi و FoxPro اولین زبان های برنامه نویسی بودند که شی گرایی را به دنیا معرفی کردند.
برنامه نویسی فانکشنال یک رویه ی دیگری از برنامه نویسی هست که در آن بیشتر عملیات ها با توابع انجام میگیرد.
تابع به قسمتی از کد گفته میشود که میتوانید بارها و بارها استفاده کنید. میتواند ورودی داشته باشد و درون تابع روی ورودی ها عملیات انجام دهد و همچنین میتواند یک خروجی هم داشته باشد به تصویر زیر دقت کنید
در این رویه دیگر خبری از کلاس یا اشیا نیست بلکه توابعی داریم که کارها را انجام میدهد.
توابع در بحث شی گرایی هم کاربرد دارد ولی آنجا هر کلاس برای خود توابع خاصی را دارد که به آنها متود ( method ) گفته میشود.
برنامه نویسی فانکشنال با جلوگیری از تکرار کدنویسی ها از میزان خطوط کدنویسی میکاهد و همچنین در زمان توسعه ی یک پروژه صرفه جویی به عمل می آید.
برای یادگیری برنامه نویسی شی گرا من مقالات و ویدیو های زیادی را دیده ام و در واقع به این نتیجه رسیدم که قبل از شروع زبان های برنامه نویسی ، مبحث شی گرایی را بعنوان مبانی و اصول برنامه نویسی در نظر بگیرید و ابتدا آنرا خوب یاد بگیرید.
اگر شی گرایی را با یک زبان برنامه نویسی خاص بیاموزید ممکن است اصول و مفاهیم آنرا بصورت کامل یاد نگیرید و زمانی که با یک زبان برنامه نویسی دیگری بخواهید شی گرایی را کار کنید به مشکل بخورید
پس بهتر است ابتدا خود مفهوم شی گرایی را بدون در نظر گرفتن یک زبان خاص یاد بگیرید
من مینی دوره ی آموزش ویدیویی مهندس نیکزاد که رایگان هم هست پیشنهاد میدم و لینکهاش را جلسه به جلسه اینجا میزارم تا شما هم استفاده کنید.
? مینی دوره ی آموزش شی گرایی در برنامه نویسی
? شروع از صفر بدون پیش نیاز
:: جزئیات مینی دوره ::
? مدرس : مهندس سام نیکزاد
?تعداد جلسات : ۱۲ جلسه
? کیفیت دوره : فول اچ دی ( عالی )
? قیمت : ? رایگان با شرایط ذکر شده در ابتدای ویدیو
✅ جلسه ی اول
:: سرفصل های این جلسه ::
? آموزش مفهوم شی گرایی
?تاریخچه ی رویکردهای مختلف کدنویسی
? آموزش مفهومی اشیا
? آموزش کلاس ها و تفاوت آن با اشیا
? آموزش خصوصیت ها یا پروپرتی های یک کلاس