برنامه نویسی ساختاریافته در مقابل برنامه نویسی شی گرا
برنامه نویسی شی گرا (OOP) و برنامه نویسی ساختاریافته دو پارادایم برنامه نویسی هستند. پارادایم برنامه نویسی یک سبک اساسی از برنامه نویسی کامپیوتری است. پارادایم های برنامه نویسی در نحوه نمایش هر عنصر از برنامه ها و نحوه تعریف مراحل برای حل مسائل متفاوت است. همانطور که از نام آن پیداست، OOP بر نمایش مشکلات با استفاده از اشیاء دنیای واقعی و رفتار آنها تمرکز دارد، در حالی که برنامه نویسی ساختاریافته با سازماندهی برنامه در یک ساختار منطقی سروکار دارد.
برنامه نویسی ساختاریافته چیست؟
فرض بر این است که سال تولد برنامه نویسی ساختاریافته 1970 است. برنامه نویسی ساختاریافته زیرمجموعه ای از برنامه نویسی ضروری در نظر گرفته می شود. یک برنامه ساختاریافته از ساختارهای ساده جریان برنامه تشکیل شده است که به صورت سلسله مراتبی سازماندهی شده اند. آنها توالی، انتخاب و تکرار هستند. توالی ترتیبی از عبارات است. انتخاب به معنای انتخاب یک دستور از مجموعه ای از عبارات بر اساس وضعیت فعلی برنامه (به عنوان مثال استفاده از دستورات if) و تکرار به معنای اجرای یک دستور تا رسیدن به یک حالت خاص است (به عنوان مثال استفاده از دستورات for یا while). ALGOL، Pascal، Ada و PL/I برخی از زبان های برنامه نویسی ساخت یافته هستند که امروزه مورد استفاده قرار می گیرند.
برنامه نویسی شی گرا چیست؟
در OOP، تمرکز بر تفکر در مورد مشکلی است که باید حل شود از نظر عناصر دنیای واقعی و نشان دادن مشکل از نظر اشیا و رفتار آنها. کلاس ها بازنمایی انتزاعی اشیاء دنیای واقعی را به تصویر می کشند. کلاس ها مانند طرح ها یا الگوهایی هستند که موارد مشابه یا چیزهایی را جمع آوری می کنند که می توانند با هم گروه بندی شوند.کلاس ها دارای ویژگی هایی به نام ویژگی ها هستند. ویژگی ها به عنوان متغیرهای سراسری و نمونه اجرا می شوند. متدها در کلاس ها رفتار این کلاس ها را نشان می دهند یا تعریف می کنند. متدها و ویژگی های کلاس ها اعضای کلاس نامیده می شوند. به یک نمونه از یک کلاس یک شی می گویند. بنابراین، یک شی یک ساختار داده است که شباهت زیادی به برخی از شی های دنیای واقعی دارد.
چندین مفهوم مهم OOP مانند انتزاع داده، کپسوله سازی، چندشکلی، پیام رسانی، مدولاریت و وراثت وجود دارد. به طور معمول، کپسولهسازی با خصوصی کردن ویژگیها به دست میآید، در حالی که روشهای عمومی ایجاد میشود که میتوان برای دسترسی به آن ویژگیها استفاده کرد. وراثت به کاربر اجازه می دهد تا کلاس ها (به نام کلاس های فرعی) را از کلاس های دیگر (به نام کلاس های فوق العاده) گسترش دهد. چند شکلی به برنامه نویس اجازه می دهد تا یک شی از یک کلاس را به جای شی ای از کلاس فوق العاده آن جایگزین کند. به طور معمول، اسمهایی که در تعریف مسئله یافت میشوند، مستقیماً به کلاسهایی در برنامه تبدیل میشوند. و به همین ترتیب افعال تبدیل به روش می شوند.برخی از محبوب ترین زبان های OOP جاوا و سی شارپ هستند.
تفاوت بین برنامه نویسی ساختاریافته و برنامه نویسی شی گرا چیست؟
تفاوت اصلی بین برنامه نویسی ساختاریافته و OOP در این است که تمرکز برنامه نویسی ساختاریافته ساختاربندی برنامه در سلسله مراتبی از زیربرنامه ها است در حالی که تمرکز OOP این است که وظیفه برنامه نویسی را به اشیائی تقسیم کند که کپسوله می شوند. داده ها و روش ها OOP نسبت به برنامه نویسی ساختاریافته انعطاف پذیرتر در نظر گرفته می شود، زیرا OOP یک برنامه را به جای ساختاردهی برنامه در یک سلسله مراتب، به شبکه ای از زیرسیستم ها جدا می کند. حتی با وجود اینکه ساختاردهی وضوح خاصی را فراهم می کند، یک تغییر کوچک در یک برنامه ساختاریافته بسیار بزرگ ممکن است باعث ایجاد اثر موجی در تغییر چندین زیربرنامه شود.