برنامه نویسی شی گرا یا Object-Oriented Programming که به اختصار (OOP) نامیده می شود ، یک الگوی برنامه نویسی پیشرفته است که تمرکز خود را بر روی استفاده از اشیاء برای نمایش و کنترل دادهها قرار میدهد. در OOP ، دادهها در داخل اشیاء قرار میگیرند . اشیا شامل ویژگی ها و توابع می باشند .
ویژگیها (Properties):
توابع (Methods):
اشیاء با ویژگیها (properties) و توابع (methods) تعریف میشوند. مفاهیم مهمی را ارائه میدهد که به توسعه دهندگان امکان میدهد کدها را به صورت ماژولار، قابل استفاده مجدد و قابل نگهداری ترتیب دهند.
انتزاع یا Abstraction :
این مفهوم به این اشاره دارد که ما از چیزهای سادهتر برای نمایش پیچیدگیها استفاده میکنیم. به عبارت دیگر، به جای دانستن نحوه کارکرد دقیق یک سیستم، از اشیاء، کلاسها و متغیرها برای نمایش ساختار و دادههای پایهای پیچیدهتر استفاده میشود. این ایده مهم است چرا که از تکرار و تکرار کد جلوگیری میکند.
کپسوله سازی یا Encapsulation :
این مفهوم به معنای نگهداشتن دادهها درون یک کلاس و دسترسی به آن دادهها از طریق متدهای عمومی است. کپسوله سازی به ما این امکان را میدهد که دادهها و کد را درون یک کلاس محافظت کنیم و به طور ایمن از آنها استفاده کنیم. این به معنای قابلیت استفاده مجدد از اشیاء و کدها بدون نگرانی از امنیت داده ی آنهاست.
وراثت به برنامهنویسان اجازه میدهد که کلاسهای جدیدی را با استفاده از ویژگیها و رفتارهای کلاسهای موجود ایجاد کنند. این به معنای اشتراک گذاری ویژگیها و عملکردها بین کلاسها است و امکان ساخت کلاسهای جدید با استفاده از کد قبلی را فراهم میکند.
پلی مورفیسم Polymorphism :
این اصل به شما امکان میدهد که یک عملیات را بر روی اشیاء مختلف اجرا کنید، به طوری که عملیات به تناسب نوع ویژگیهای اشیاء تغییر کند. به این مورد نیاز داریم تا کدهایمان بتوانند به راحتی با انواع مختلف اشیاء کار کنند و نیازی به تغییرات بزرگ در کد نباشد. این اصل باعث میشود که کدها انعطافپذیرتر باشند و بتوانیم آنها را به سادگی تغییر دهیم و تطبیق بخشهای مختلف کد را با نیازهای جدید انجام دهیم.
مفاهیم OOP به برنامهنویسان این امکان را میدهند که اشیاء و کدهایی را ایجاد کنند که قابل استفاده مجدد هستند و در عین حال امنیت دادهها را حفظ میکنند و نهایتا کدها را به صورت ماژولار نوشته شوند و از قابلیتReusability برای جلوگیری از تکرار کدها استفاده کنند.
در مجموعه مقالات برنامهنویسی شیءگرا، مانند مقالات SOLID، برای هر یک از اصول برنامهنویسی شیءگرا (OOP)، مثالهایی با استفاده از زبان برنامهنویسی Dart خواهیم داشت که نمونههای صحیح و نمونههای نادرست پیادهسازی این اصول را نشان میدهیم.
مقالات مرتبط:
پیاده سازی OOP با کدهای دارت برای فریم ورک Flutter
پیاده سازی ارث بری در OOP با کدهای دارت برای فریم ورک Flutter-بخش اول