برنامهنویسی شیءگرا در JavaScript
نوشتن کد برای پروژههای کوچک آسان است. اما وقتی پروژه بزرگ میشود، کار دشوار میگردد.
من این موضوع را هنگام ساخت یک اپلیکیشن کوییز (Quiz App) و یک رابط کاربری بانکداری موبایلی (Mobile Banking UI) یاد گرفتم. در ابتدا توابع و اشیاء ساده به خوبی کار میکردند، اما با اضافه کردن ویژگیهای بیشتر، کدها نامنظم و درهمریخته شدند. اصلاح کد و استفاده مجدد از آن دشوار شده بود.
اینجاست که با برنامهنویسی شیءگرا (OOP) آشنا شدم. OOP به شما کمک میکند تا کد خود را حول محور اشیاء سازماندهی کنید. این کار باعث میشود کد شما تمیزتر باشد و مقیاسپذیری آن آسانتر شود.
در اینجا مفاهیم اصلی OOP در JavaScript آورده شده است:
کلاسها و اشیاء (Classes and Objects) یک کلاس، یک نقشه یا طرح اولیه (blueprint) است. یک شیء، همان چیزی است که شما بر اساس آن نقشه میسازید. برای مثال، کلاس
Carتعریف میکند که یک ماشین چیست. یک تویوتا، شیئی از آن کلاس است.سازندهها (Constructors) یک سازنده متدی است که هنگام ایجاد یک شیء، به طور خودکار اجرا میشود. این متد دادههای اولیه را برای شیء شما تنظیم میکند.
ارثبری (Inheritance) یک کلاس میتواند ویژگیهای کلاس دیگری را به ارث ببرد. این کار از نوشتن تکراری یک کد جلوگیری میکند. شما از کلمه کلیدی
super()برای فراخوانی کلاس والد استفاده میکنید.کپسولهسازی (Encapsulation) این مفهوم به معنای پنهان کردن دادهها است. شما میتوانید اطلاعات حساس را خصوصی (private) نگه دارید تا بخشهای دیگر کد نتوانند به اشتباه آنها را تغییر دهند. در JavaScript، از نماد
#برای فیلدهای خصوصی استفاده میشود.انتزاع (Abstraction) انتزاع، جزئیات پیچیده را پنهان میکند. شما فقط بخشهایی را که کاربر به آنها نیاز دارد نشان میدهید. یک دستگاه قهوهساز را در نظر بگیرید؛ شما فقط یک دکمه را فشار میدهید تا قهوه بگیرید و نیازی نیست بدانید دستگاه چگونه آب را گرم میکند.
چندریختی (Polymorphism) این ویژگی به کلاسهای مختلف اجازه میدهد از نام متد یکسان استفاده کنند اما رفتارهای متفاوتی داشته باشند. برای مثال، کلاس
Dogو کلاسCatممکن است هر دو متدspeak()داشته باشند، اما یکی پارس میکند و دیگری میو میکند.گترها و سترها (Getters and Setters) اینها به شما اجازه میدهند کنترل کنید که افراد چگونه دادههای شما را بخوانند یا تغییر دهند.
چرا از OOP استفاده کنیم؟
• کدها را بیشتر بازاستفاده میکنید. • کد شما سازمانیافته باقی میماند. • نگهداری کد آسانتر میشود. • خطاها را کاهش میدهید.
تسلط بر این ستونها به شما کمک میکند تا اپلیکیشنهای حرفهای بسازید.