آموزش شی گرایی در پایتون یعنی طریقه ایجاد کلاس های مختلف در این زبان برنامه نویسی که البته به آن OOP یا Object Oriented Programming نیز میگویند. تمیز کردن کد ها و رعایت اصول Clean Code در یک برنامه، نیازمند استفاده از مفاهیم شی گرایی خواهد بود. اشیا در جهان پیرامون ما بسیار زیاد هستند و همانطور که یک بیمارستان میتواند از اشیایی همچون پزشکان، پرستاران و نگهبانان تشکیل شده باشد، یک برنامه نیز دارای اشیا و Object های مختلفی خواهد بود.

دوره معرفی شده در آموزش شی گرایی در پایتون

شی گرایی در پایتون چیست

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

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

برنامه نویسی شی گرا چگونه به وجود آمد؟

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

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

نگاه شی گرا یا OOP نگاهی است که ما به پیرامون خود داریم. به عنوان مثال در برنامه نویسی رویه ایی پایتون تمامی موارد را به کار های کوچک تر تقسیم می کنید و هر کدام را به function تبدیل می کنید و هریک از این function ها به صورت رویه ایی این کار ها را انجام می دهند اما در برنامه نویسی شی گرایی به صورت نیست.

به عنوان مثال یک کامپیوتر دارای کیبورد، موس، مانیتور و… است و تمامی این موارد ویژگی های مختلف این کامپیوتر را نشان می دهند. این کامپیوتر در کنار ویژگی هایی که دارد دارای متود هایی است که به عنوان مثال می توانیم به امکان پاورپوینت و یا امکان اجرا شدن سیستم عامل در آن اشاره کنیم.

تمامی تعاریفی که از کامپیوتر ارائه می دهیم مواردی هستند که آن را می بینیم و می توانیم برای آن کارکردی را در نظر بگیریم.برای اینکه فلسفه برنامه نویسی شی گرا را در پایتون بتوانیم به خوبی درک کنیم باید اطلاعات مناسبی درباره کلاس کسب کنیم با ما همراه باشید.

 

کامپیوتر class

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

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

نکته
مقاله پیشنهادی: پایتون یا سی شارپ

کلاس مانند نقشه ایی است که می تواند راه درست را به شما نشان دهند تا بتوانید به خوبی آن را پیاده سازی کنید. در واقع شی های شما آن را می سازند به بیان دیگر Object ها پیدا سازی این کلاس هستند.

به عنوان مثال ما کلاس car را داریم که object های آن ford، Toyota هستند. که این ها دارای properties، Methods هستند.

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

4 رکن اصلی برنامه نویسی شی گرایی در پایتون

برای اینکه بهتر بتوانیم فلسفه ی برنامه نویسی شی گرایی در پایتون را درک کنیم باید این مفاهیم را بدانیم. OOP در پایتون برای ساخت کد های قابل استفاده ایجاد می شود که Don’t Repeat Yourself با مفهوم DRY شناخته می شود که به معنای این است که کاری که یکبار انجام شده است نباید دوباره تکرار شود.

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

  • Encapsulation

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

  • Abstraction
  • Inheritance

Inheritance یا ارث بری این ویژگی را دارد که کلاسی که ساخته اید می تواند متود ها یا ویژگی هایی را که دارد به نسل بعدی خودش ارث می دهد. بخاطر یک نرم افزاری به اسم DRY این اتفاق می افتد.

  • polymorphism

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

چهار رکن اصلی برنامه نویسی شی گرا

در پایتون چگونه می توانیم کلاس ها را تعریف کنیم؟

پیاده سازی کلاس در پایتون بحث کاملا ساده ایی است برخی موضوعاتی مانند private در پایتون وجود ندارد و بحثی متفاوت دارد. اگر می خواهید در پایتون کلاسی را تعریف کنید می توانید بنویسید کلاس و بعد اسم کلاس. و بعد متود constructor دارید. شما نیاز به پیاده سازی دارید که عمل پیاده سازی در constructor اتفاق می افتند.

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