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