سایر مطالب

شی گرایی چیست

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

کاربردهای شی گرایی

شی گرایی کاربردهای مختلفی دارد. برخی از کاربردهای شی گرایی عبارتند از:

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

اصول شی گرایی

اصول شی گرایی چهار اصل اساسی هستند که برنامه نویسی شی گرا را تعریف می کنند. این چهار اصل عبارتند از:

  • کپسوله سازی (Encapsulation): این اصل بیان می کند که هر شی باید داده ها و رفتارهای خود را درون خود مخفی کند و فقط از طریق رابط های عمومی (Public Interfaces) قابل دسترسی باشد. این کار باعث می شود که جزئیات پیاده سازی یک شی برای دیگران پنهان بماند و تنها عملکرد آن مشخص باشد. به این ترتیب، امنیت، سادگی و قابل تغییر بودن شئ افزایش می یابد.
  • انتزاع (Abstraction): این اصل بیان می کند که هر شئ باید فقط ویژگی ها و رفتارهای مرتبط با هدف خود را نشان دهد و جزئیات غیرضروری را حذف کند. این کار باعث می شود که پیچیدگی یک شئ کاهش یابد و فقط مفاهیم مهم آن در نظر گرفته شود. به این ترتیب، تمرکز، واضح بودن و قابل فهم بودن شئ افزایش می یابد.
  • وراثت (Inheritance): این اصل بیان می کند که هر شئ می تواند ویژگی ها و رفتارهای یک شئ دیگر را به ارث ببرد و در عین حال ویژگی ها و رفتارهای خود را نیز داشته باشد. این کار باعث می شود که تکرار کدها کاهش یابد و استفاده مجدد از آن ها افزایش پیدا کند. به این ترتیب، سلسله مراتب، توسعه پذیری و سازگاری شئ افزایش می یابد.
  • چند ریختی (Polymorphism): این اصل بیان می کند که هر شئ می تواند به صورت های مختلف رفتار کند بسته به شرایط و نوع داده های درگیر. این کار باعث می شود که تنوع، قابل استفاده بودن و قابل تعوض بودن شئ افزایش بیابد.

شی گرایی چیست

یک مثال از شی گرایی

فرض کنید می خواهید یک برنامه برای مدیریت دانش آموزان یک مدرسه بنویسید. در این برنامه، می توانید از شی گرایی استفاده کنید و کلاس هایی را تعریف کنید که نماینده ی اشیاء مختلف در دنیای واقعی هستند. برای مثال:

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

با استفاده از این کلاس ها، می توانید شئ های مختلف را با استفاده از سازنده ها (Constructors) از کلاس ها بسازید و با آن ها رفتار کنید. برای مثال:

  • شئ دانش آموز1: دانش آموز(“علیرضا”, 16, “پسر”, 1234, [18, 19, 17])
  • شئ دانش آموز2: دانش آموز(“فاطمه”, 15, “دختر”, 5678, [20, 19, 18])
  • شئ معلم1: معلم(“حسین”, 35, “پسر”, 4321, “ریاضی”)
  • شئ معلم2: معلم(“زهرا”, 30, “دختر”, 8765, “ادبیات”)
  • شئ کلاس درس1: کلاس درس(“9A”, 30, [“تخته”, “چراغ”], [دانش آموز1, دانش آموز2])
  • شئ کلاس درس2: کلاس درس(“9B”, 25, [“کامپیوتر”, “پروژکتور”], [])

حالا می توانید با استفاده از نقطه (.) به خصوصیات و متدهای شئ ها دسترسی پیدا کنید و با آن ها رفتار کنید. برای مثال:

  • دانش آموز1.ثبت نام(کلاس درس2): این متد باعث می شود دانش آموز1 به کلاس درس2 اضافه شود و نام او در لیست دانش آموزان آن کلاس قرار گیرد.
  •  معلم1.تدریس(کلاس درس1): این متد باعث می شود معلم1 به عنوان معلم ریاضی کلاس درس1 انتخاب شود و جلسه تدریس را شروع کند.
  •  کلاس درس2.تعطیلات(): این متد باعث می شود کلاس درس2 تعطیل شود و هیچ جلسه ای برگزار نشود.

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

 

نوشته های مشابه

‫2 دیدگاه ها

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا