عندما نتحدث عن الكائن الـ object في الجافاسكربت، فنحن نتحدث عن ركن ركيز من أركان الجافاسكربت، فنحن نعرف أن معظم الأشياء في الجافاسكربت هي بالأساس الأول عبارة عن object، فالدوال والمصفوفات والتواريخ ومعظم الأشياء في الجافاسكربت تعتبر وليدة للـ object، ولذلك أقول أن الـ object يعد ركن ركيز من أركان الجافاسكربت.
في هذا الموضوع سوف نتحدث بشكل عام عن بعض الطرق الشائعة للتعامل مع ال
تحدثنا باستفاضة عن كل من الـ classical inheritance و الـ prototypal inheritance، وقلنا أن كل من النوعين يندرجان تحت عملية الـ delegation عن طريق استخدام سلسلة الـ prototype. فماذا عن استخدام الـ Mixins في الوراثة؟
هناك بعض التحديات التي تجعلنا نفكر في استخدام منهج أخر في عملية الوراثة، أولى هذه التحديات هي؛ كيف يمكن لنا أن نجعل فصيل ما أو كائن ما يرث من أكثر من أب في آن واحد
الـ prototypal inheritance يعد الشق الثاني من موضوع الوراثة في الجافاسكربت، لكن في البداية دعونا ندردش سويا بكشل عام على فكرة الـ prototypal inheritance، معظم الأنمطة التي نتحدث عنها في الجافاسكربت، هي بالأساس الأول قد نشئت في لغات أخرى غير لغة الجافاسكربت، ومن هنا علينا -على أقل تقدير- أن نأخذ فكرة عن موضوع prototypal inheritance في لغات مثل الجافا أو السي بلس بلس.
قبل الحديث
الـ classical inheritance يعد الشق الأول في عملية الوراثة في الجافاسكربت، أو بالأحرى الطريقة الأولى لتطبيق الوراثة في الجافاسكربت، فماذا نعني بالـ classical inheritance ؟ بكل بساطة هى عملية تطبيق الوراثة باستخدام الـ classes، تحدثنا سابقا عن نمط دالة الإنشاء، وتكلمنا باستفاضة عن كيفية محاكاة الـ classes واستنشاء objects من هذه الـ classes. الآن جاء دور موضوع الوراثة. وقبل الولو
تحدثنا في موضوع سابق عن البرمجة الكائنية التوجيه الـ "oop" في الجافاسكربت، وتحدثنا عن المفهوم وأهميته بشكل مفصل، وتناولنا موضوع الـ classes ودورها في الـ object oriented programming، والآن يأتي السؤال الأهم؛ كيف نطبق ونستفيد من هذا المفهوم في الجافاسكربت ؟ أولى الخطوات لكي نحقق هذا المفهوم ونطبقه؛ هي إنشاء فصائل "classes" ومن ثم عمل "instantiation"
قبل الحديث عن أي شيء يخص الجافاسكربت في هذا الصدد، علينا أولا أن نتحدث عن المفهوم بشكل عام، الـ object oriented مفهوم أو نظرية أو فكرة يمكن تطبيقها في أي لغة برمجة، هي ليست معنية بلغة واحدة عن باقي اللغات. الـ object oriented programming تعني باللغة العربية البرمجة الكائنية التوجيه، وهناك من يطلق عليها برمجة الكائنات الموجهة، وغالبا ما يُشار إليها بالـ oop، فما هي البرمجة
قبل أن نتحدث عن أي شيء يخص الـ design patterns دعونا في البداية نحكي قصة رمزية نبدأ بها موضوعنا. كانت لدينا قطعة أرض نريد أن نبني عليها عمارة سكنية، فقمنا بمخاطبة بعض المهندسين المعماريين الاكفاء لكي يرسموا لنا تصميم هذه العمارة. هؤلاء المهندسون مختلفون تماما من حيث الجامعات التي درسوا بها، والشركات التي عملوا بها، وكل منهم لا يعرف الأخر. وطلبنا من كل مهندس على حدة أن ينشئ لنا