شی گرایی در برنامه نویسی چیست ؟ | آموزش مقدماتی کاتلین | درس 17ام

برنامه نویسی شی گرا چیست و چه کاربرد هایی دارد ؟

Kotlin یک زبان برنامه نویسی شی گرا است درست مانند زبان برنامه نویسی جاوا. برنامه نویسی شی گرا یا  Object Oriented Programming (OOP) به ما این امکان را می دهد تا با استفاده از اشیا مشکل پیچیده را حل کنیم . به طورکلی برنامه نویسی شی گرا (OOP) یک پارادایم برنامه نویسی است که بر اساس اشیاء بنا شده است. اشیاء موجودیت هایی هستند که شامل داده (به عنوان مثال، نام، سن) و رفتار (به عنوان مثال، راه رفتن، صحبت کردن) هستند.

به تعریفی دیگر ، برنامه نویسی شی گرا (OOP) یک الگوی برنامه نویسی است که بر ایجاد اشیایی که دارای ویژگی ها و رفتارهای خاصی هستند تمرکز دارد. Kotlin یک زبان برنامه نویسی مدرن است که به طور کامل از مفاهیم OOP پشتیبانی می کند و ایجاد کد انعطاف پذیر، مقیاس پذیر و قابل نگهداری را آسان می کند. ما در برنامه نویسی شی گرا از یکسری عبارت های کلیدی استفاده خواهیم کرد و کلا شی گرایی بر پایه این مفاهیم است که در قسمت پایین هر کدام را برای شما شرح می‌دهیم.

عبارت های کلیدی در شی گرایی :

  • کلاس:

یک الگو برای ساخت اشیاء است. کلاس شامل ویژگی ها (متغیرها) و متدها (توابع) است. فرض کنید ما یک کلاس دانشجو داریم ویژگی ها و متغیر های این کلاس شامل اسم دانشجو ، سال ورود ،  سن و …  است و اما متد های این کلاس شامل اضافه کردن داشنجوی جدید ، حذف ، بروز رسانی اطلاعات و .. می‌باشد.

مطالب مرتبط : کلاس ها در کاتلین | آموزش مقدماتی کاتلین |درس نهم

  • شیء:

یک نمونه از یک کلاس است. هر شیء دارای ویژگی ها و متدهای خاص خود است. برای مثال اگر ما بخواهیم به یک متد از کلاس بالا که برای شما آوردیم دسترسی داشته باشیم و تغیرات مورد نظر خودمان را در آن ایجاد کنیم باید یک نمونه یا شی از کلاس داشته باشیم .

  • وراثت:

توانایی یک کلاس برای به ارث بردن ویژگی ها و متدهای کلاس دیگر است. به طور مثال یک کلاس پدر داریم که یکسری کتد ها و متغیر های دارد که کلاس فرزند آن می‌تواند آن را به ارث برود.

  • چندشکلی:

توانایی یک شیء برای پاسخگویی به روش های مختلف به یک پیام، بسته به نوع آن است. فرض کنید متدی به نام printInfo در کلاس Student تعریف شده است که اطلاعات مربوط به دانشجو را چاپ می کند. می توانیم متد printInfo را در کلاس Teacher نیز تعریف کنیم. در این صورت، هنگامی که از متد printInfo برای یک شیء Student یا Teacher استفاده می کنیم، اطلاعات مربوط به آن نوع شیء چاپ می شود.

همه ی مباحث بالا ، را در پست های بعدی برای شما به صورت کامل در سری آموزش مقدماتی کاتلین برای شما توضیح خواهیم داد.

یک مثال کلی از عبارت های کلیدی در شی گرایی:

مثالی از استفاده از اصول شی گرایی در برنامه نویسی کاتلین

نحوی استفاده از برنامه نویسی شی گرایی در کاتلین

نمونه کد استفاده از شی گرایی در برنامه نویسی

توضیحات مثال بالا :

  • در این کد، کلاس Person با دو ویژگی name و age و یک متد printInfo تعریف شده است.
  • کلاس Student از کلاس Person وراثت می‌برد و دو ویژگی major و printStudentInfo را به آن اضافه می‌کند.
  • در تابع main، دو شیء، یکی از کلاس Person و دیگری از کلاس Student ایجاد می‌شود.
  • از متدهای printInfo و printStudentInfo برای چاپ اطلاعات شخص و دانشجو استفاده می‌شود.
خروجی کد بالا :
خروجی مثال بالا در مورد اصول شی گرایی

خروجی کد بالا

مزایای شی گرایی در برنامه نویسی :

  • خوانایی:

کد OOP به دلیل سازماندهی کد در قالب اشیاء، خواناتر و قابل فهم تر است.

  • قابلیت نگهداری:

کد OOP به دلیل استفاده از وراثت و چندشکلی، قابل نگهداری و ارتقا آسان تر است.

  • قابلیت استفاده مجدد:

می توان از کد OOP در برنامه های مختلف به صورت مجدد استفاده کرد.

خلاصه مطالب

 برنامه نویسی شی گرا Object Oriented Programming (OOP) یک الگوی برنامه نویسی است که بر ایجاد اشیایی که دارای ویژگی ها و رفتارهای خاصی هستند تمرکز دارد. شی گرایی باعث ایجاد کد انعطاف پذیر، مقیاس پذیر و قابل نگهداری می‌شود.

مطالب مرتبط :چه زمانی از Operator Overloading در کاتلین استفاده می‌شود؟ | آموزش مقدماتی کاتلین | درس شانزدهم

طالب مرتبط :توابع میانوندی (Infix Functions) در برنامه نویسی کاتلین | آموزش مقدماتی کاتلین | درس پانزدهم

برای امتیاز به این نوشته کلیک کنید!
[کل: 5 میانگین: 5]
اشتراک‌گذاری

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

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

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