آشنایی با مفاهیم و ویژگیهای پایه شی گرایی در سی پلاس پلاس


آشنایی با مفاهیم و ویژگیهای پایه شی گرایی در سی پلاس پلاس
برای خرید این درس نیاز است وارد سایت شوید. در صورت نداشتن حساب کاربری عضو شوید.

آشنایی با مفاهیم و ویژگی‌های پایه شی گرایی در سی پلاس پلاس:


مهم‌ترین و ارزشمندترین مبحث در زبان ++C، مبحثی به نام شی گرایی (object oriented programming) می‌باشد. در این جلسه می‌خواهیم به طور مفصل و جامع در مورد شی گرایی صحبت کنیم. این مبحث کاربردی در همه زبان‌های برنامه نویسی مشترک می‌باشد. قبل از اینکه زبان ++C به وجود آید زبان C وجود داشته است، که یک زبان با قاعده و ساختار ساخت یافته بوده است. در واقع برنامه‌هایی که به صورت ساخت یافته نوشته می‌شدند به این شکل بودند که یک برنامه به چندین بخش مختلف تقسیم می‌شدند که به آن‌ها function یا توابع گفته میشد و توابع مختلف می‌توانستند کارهای مختلفی انجام دهند و به جای اینکه یک بلاک طولانی از کد داشته باشند در برنامه نویسی ساخت یافته این بلاک ها به چندین بلاک تقسیم می شدند.


 در واقع برنامه نویسان اولیه همه کدهای برنامه را داخل یک بلاک قرار می‌دادند و این روش درستی نبود و بعدها برنامه را بلاک بندی کردند. همان توابعی که نوشته میشد و برای هر کدام اسمی تعیین می کردند. اما برنامه نویسی ساخت یافته یک مشکل اساسی داشت آن هم مشکل در توسعه نرم افزار یا اپلیکیشن بود به این معنی که یک برنامه نوشته میشد کارفرما یک سری امکانات را می‌خواست این برنامه نوشته میشد و در اختیار کار فرما قرار می گرفت و بعد از یک مدتی کارفرما می‌خواست که امکانات دیگری به آن اضافه شود. به همین جهت برای توسعه نرم افزار نیاز بود خیلی تغییرات در ساختار برنامه اعمال شود که بسایر زمان بر بود.


 در برنامه نویسی ساخته یافته برنامه نویسی مبتنی بر کد بود اما در برنامه نویسی شی گرایی توسعه نرم افزار راحت تر است به خاطر این که دیگر برنامه نویسی مبتنی بر کد نیست، مبتنی بر داده می‌باشد. در این مبحث تمرکز بر این است که چه اشیایی و موجودیت‌هایی داریم و هر موجودیت چه صفت‌ها و ویژگی‌هایی دارد و چه رفتاری می تواند انجام دهد و معادل رفتار و صفت‌های آن شی را که در بیرون است را در  کامپیوتر شبیه سازی می کنیم، وقتی شبیه سازی می کنیم آن وقت خیلی راحت میتوانیم با آن‌ها کار کنیم. برنامه نویسی شی گرا با هدف پیاده سازی موجودیت‌هایی در دنیای واقعی مانند وراثت، پنهان کردن، چند شکلی و غیره در برنامه نویسی انجام می شود.


 هدف اصلی OOP اتصال داده‌ها و عملکردهایی است که روی آن‌ها کار می کند به طوری که هیچ قسمت دیگری از کد به غیر از آن تابع نمی تواند به این داده‌ها دسترسی پیدا کند. برای مثال در بانک یک حساب بانکی که برای شما نگهداری می‌شود شما به عنوان یک مشتری ازبانک، یک شی محسوب می‌شوید که اطلاعات و توانمندی‌های شما در آنجا ثبت می‌شود. اطلاعات، داده‌های ما می‌شوند و توانمندی‌ها، عملکردهای ما می‌باشند. در واقع به مفهومی به اسم اعضای کلاس می‌رسیم. یک کلاس می‌تواند یک سری داده و تابع داشته باشد که کارهایی  روی داده‌ها انجام می‌دهند. برای مثال یک استاد دارای داده‌ها یا اطلاعات نام، نام خانوادگی، شماره تلفن، کدملی و ... می باشد و در سیستم آموزش دانشگاه می تواند  حضور وغیاب را ثبت کند و نمره تغییردهد.


 زبان شی گرایی دارای 4 ویژگی می‌باشد:
Encapsulation (کپسوله سازی یا مخفی سازی): شما با نوشتن کلاس‌ها می‌توانید داده‌ها را بسته بندی کنید و از دید و دخالت کردن دیگران در داده‌ها جلوگیری کنید. وقتی کلاسی با نام دانشجو دارای یک سری داده تعریف می کنیم و عملا این کلاس را به یک فضای بسته تبدیل می‌کنیم که هرکسی به راحتی نتواند به آن دسترسی داشته باشد.


Polymorphism (چند ریختی): به معنی استفاده از شکل‌های مختلف یک تابع در فراخوانی‌های مختلف می‌باشد. این امکان را می‌دهد که بتوانیم یک سری تابع‌ها با شکل‌های یکسان تعریف کنیم که می‌توانند رفتارهای متفاوت انجام دهند و در زمان فراخوانی تعیین کنیم هر تابع چه کاری انجام دهد.


Inheritance (ارث بری): وراثت یکی از مهم‎ترین ویژگی‌های برنامه نویسی شی گرا است. یعنی یک کلاس خصوصیات یک کلاس دیگر را ارث بری کند. با این ویژگی می‌توانیم از تکراری نوشتن ویژگی‌ها و رفتارها جلوگیری کنیم.


Abstraction (انتزاعی سازی): با استفاده از این ویژگی می‌توانیم این امکان را به وجود بیاوریم که  یک سری از رفتارها از دید کاربر مخفی شوند و در واقع منِ استفاده کننده از یک رفتار، از جزییات و پیاده سازی آن خبری نداشته باشم و پنهان می‌باشد.

 

تصویر 1

 

 
دوست درسمنی عزیز، امیدواریم از این آموزش لذت برده باشید.
برای یادگیری این مبحث می‌توانید این درس را تهیه کنید و از فایل‌ها و ویدئو این بخش استفاده کنید.
شما عزیزان می‌توانید سوالات خود را در بخش انجمن پرسش و پاسخ مطرح کنید و همچنین منتظر انتقادات و پیشنهادات مفید شما در بخش نظرات هستیم تا ما را در کیفیت بهتر آموزش‌هایمان یاری کنید.


با امید موفقیت و شادی برای شما دوست درسمنی عزیزsmiley

انجمن ++C کاران درسمن

 


نظر بدهید

نشانی ایمیل شما منتشر نخواهد شد .
برای ارسال نظر نیاز است وارد سایت شوید. در صورت نداشتن حساب کاربری عضو شوید.


مشخصات دوره


مدرس دوره : مهدی عباسی
تعداد جلسات 16 جلسه
مدت زمان 621 دقیقه
حجم دوره 2/39 گیگابایت
سطح مهارت پیشرفته
وضعیت دوره پایان یافته
: میانگین امتیاز

70,000تومان
برای دسترسی به این دوره وارد یا عضو شوید.
مهدی عباسی
مهدی عباسی

درباره مدرس :

مدیر‌ عامل‌ شرکت آریا‌ نرم‌‌ افزار دارنده مدرک کارشناسی‌ ارشد مهندسی کامپیوتر 12‌ سال سابقه تدریس دروس کامپیوتر را در دانشگاههای دولتی، آزاد، پیام‌نور ملایر، شهیدشمسی‌پور تهران و تدریس برنامه‌نویسی در ... ر انیستیتو ایزایران، مجتمع فنی و موسسه راه‌آینده تهران دارا میباشد و تا به حال راهنمایی انجمنهای علمی دانشگاه و صدها پروژه دانشجویی را برعهده داشته است. تخصص اصلی: با داشتن گواهی‌نامه‌های معتبر تدریس از انیستیتو‌ ایزایران، راه آینده‌تهران و سازمان‌فنی‌حرفه‌ای، تدریس و آموزش‌ دروس کامپیوتر، ‌برنامه‌نویسی کامپیوتر و کلاسهای کنکور کارشناسی و کارشناسی‌ارشد میباشد.همچنین تجربه داوری و نظارت مسابقات برنامه‌نویسی کشوری‌ACM را در سالهای متعدد داشته و تیم مورد رهبری ایشان در 3سال متوالی مقام اول مسابقات کشوری را از آن خود کرده است.ایشان مقالاتی در زمینه شبکه‌های کامپیوتری، تکنیک‌های وزارت دفاع و ... به ثبت رسانده و مشاور و کارشناس در طراحی و برنامه نویسی بیش از 50‌برنامه کاربردی تحت وب و ویندوز و موبایل میباشد. افتخارات دیگر:کسب مقام دوم ایده‌های برتر در مسابقات استارت‌آپ و بکند کشوری را نام برد.بیشتر بدانید