تفاوت برنامه نویسی شیء گرا با برنامه نویسی رویه ای در پایتون
برنامه نویسی شئی گرا، یک سبک برنامه نویسی است که برای ساختار بندی یک برنامه از کلاس ها و اشیاء استفاده میکند. از دید برنامه نویسی به سبک شئی گرا، جهان ما داری یک سری شئی است و هر کدام از آنها مشخصات (attribute) و رفتارهایی (method) دارند. از طرفی برنامه نویسی رویه ای سبکی از برنامه نویسی است که یک رویکرد گام به گام را دنبال می کند تا یک کار را به مجموعه ای از متغیرها و روال ها (توابع) از طریق دنباله ای از دستورالعمل ها تجزیه کند. در این پست میخواهیم با یک مثال عملی با تفاوت بین برنامه نویسی شی گرا و رویه ای آشنا شویم.
بگذارید در همین ابتدا مشخص کنیم که برنامه نویسی شی گرا و یا برنامه نویسی رویه ای یک سبک از برنامه نویسی است نه خود زبان برنامه نویسی!!
چرا برنامه نویسی شی گرا یا رویه ای
فرض کنید یک پروژه ای میخواهیم انجام دهیم، که برای پیاده سازی آن نیاز به نوشتن 30 خط کد برنامه نویسی داریم. خب این کد رو مینویسیم.
حال اگر بعدا بخواهیم مجدد به کد رجوع کنیم، کار سختی نخواهیم داشت. و هر بخشی رو بخواهیم میتوانیم با کمی تلاش توسعه بدهیم. چرا که به خاطر سپردن خطوط چنین برنامه ای خیلی کار سختی نیست!
حال فرض کنید این برنامه 1 میلیون خط کد برنامه نویسی دارد! الان چی؟ اگه بخواهیم بخشی از کد رو تغییر بدیم باید چیکار کنیم؟ خب واقعیت اینه که ما نمیتونیم این حجم از برنامه رو به ذهن بسپاریم! اینجاست که میریم سراغ شکوندن مسئله بزرگ به چندین مسئله کوچکتر.
ما با دو رویکرد میتونیم چنین مسائلی رو حل کنیم:
- برنامه نویسی رویه ای (procedural programming)
- برنامه نویسی شئی گرا (object-oriented programming)
فرق برنامه نویسی شئی گرا با برنامه نویسی رویه ای
در برنامه نویسی رویه ای، بخش محاسبات پروژه به چندین بخش تقسیم میشوند و هر بخش رو در قالب یک تابع پیاده سازی میکنند. در آخر، بعد از وارد کردن داده، توابع جهت پردازش داده به ترتیب مورد استفاده قرار میگیرند تا مسئله را حل کنند.
مثال: فرض کنید میخواهیم اسم، قد، وزن فرد را دریافت کنیم و سپس bmi فرد را محاسبه کرده و اطلاعات کاربر به همراه bmi را چاپ کنیم.
از دید برنامه نویسی رویه ای بخواهیم این مسئله را حل کنیم نیاز به بخشهای زیر خواهیم داشت.
- دریافت اطلاعات کاربر
- یک تابع مخصوص محاسبه bmi
- یک تابع مخصوص نمایش اطلاعات
میتوانیم از کد زیر که از سبک برنامه نویسی رویه ای استفاده شده، برای حل مسئله استفاده کنیم.
همانطور که میبنیم بخش کد و داده جدا از هم هستند و توابع برای اینکه بتوانند محاسبات رو انجام دهند لازم است که ورودی بگیرند.
در برنامه نویسی رویه ای، بخش کد و داده جدا از هم هستند.
برنامه نویسی شئ گرا
اگر خیلی خلاصه توضیح بدیم، باید بگیم که برنامه نویسی شی گرا، بخش کد و داده را در یک object می گنجاند.
اشیاء در مرکز برنامه نویسی شئی گرا قرار دارند. یک object میتواند تعدادی تابع (method) داخلش داشته باشد و dataای که توسط همین توابع استفاده شود.
حال اگر بخواهیم این مسئله را با برنامه نویسی شئی گرا حل کنیم کد زیر را می نویسیم.
به نوعی، برنامه نویسی شئی گرا یک راهی برای ساختار مند کردن کد ما هست و راهی برای حل مسائل بسیار بزرگ. و به این صورت که به ما این اجازه را میدهد که در 1 میلیون کد برنامه نویسی، روی 50 خط مورد نظر زوم بکنیم و 9,999,950 خط رو نادیده بگیریم.
در پستهای بعدی، به برنامه نویسی شئی گرا بیشتر خواهیم پرداخت.
[…] که دارای یک سری مشخصات و رفتارهایی هست. همانطور که در پست قبلی اشاره کردیم، درسطح پایه، یک object به طور ساده داری چندین […]