JavaScript OOP: دليل شامل

كتابة الكود للمشاريع الصغيرة أمر سهل، لكن إدارة الكود للتطبيقات الكبيرة أمر صعب.

تعلمت هذا أثناء بناء تطبيق اختبار (Quiz App) وواجهة مستخدم لتطبيق بنكي للهواتف المحمولة (Mobile Banking UI). في البداية، كانت الدوال والكائنات البسيطة تعمل بشكل جيد، ولكن مع إضافة المزيد من الميزات، أصبح الكود فوضوياً، وصار من الصعب إعادة استخدامه، والأصعب من ذلك كان إصلاحه.

حينها غيرت البرمجة كائنية التوجه (OOP) كل شيء.

تقوم OOP بتنظيم الكود حول الكائنات بدلاً من مجرد الدوال. يحتوي الكائن على بيانات (خصائص - properties) وأفعال (أساليب - methods).

تخيل سيارة؛ لديها خصائص مثل اللون والماركة، ولديها أفعال مثل التشغيل والتوقف.

إليك المفاهيم الأساسية التي تحتاج لمعرفتها:

• الأصناف والكائنات (Classes and Objects) الصنف (Class) هو مخطط (blueprint). أما الكائن (Object) فهو الشيء الفعلي الذي تبنيه من ذلك المخطط.

• المُنشئات (Constructors) المُنشئ هو دالة خاصة، تعمل تلقائياً عند إنشاء كائن جديد لإعداد بياناته.

• الوراثة (Inheritance) تتيح هذه الخاصية لصنف ما أخذ ميزات من صنف آخر، مما يمنعك من كتابة الكود نفسه مرتين. استخدم الكلمة المفتاحية super() لاستدعاء الصنف الأب.

• التغليف (Encapsulation) يحافظ هذا على أمان البيانات، حيث تقوم بإخفاء التفاصيل الداخلية وإظهار ما هو ضروري فقط. استخدم الرمز # في JavaScript لجعل الحقول خاصة (private).

• التجريد (Abstraction) يقوم هذا بإخفاء المنطق المعقد؛ حيث تتعامل مع واجهة بسيطة دون الحاجة لمعرفة كيفية عمل التروس الداخلية.

• تعدد الأشكال (Polymorphism) يسمح هذا للأصناف المختلفة باستخدام نفس اسم الدالة ولكن بأفعال مختلفة. فقد ينبح حيوان بينما يموء آخر.

• أدوات الجلب والتعيين (Getters and Setters) تساعدك هذه الأدوات في التحكم في كيفية وصول الأشخاص إلى بياناتك أو تغييرها.

لماذا تستخدم OOP؟

إتقان هذه الركائز يجعلك مطوراً أفضل. جرب استخدام هذه المفاهيم في مشروعك القادم، سواء كان لوحة تحكم (dashboard) أو مشروع تجارة إلكترونية (e-commerce).

المصدر: https://dev.to/rafsan-jany-ratul/object-oriented-programming-oop-in-javascript-a-complete-guide-with-real-world-examples-4l54