اذهب إلى المحتوى
  • 0

ما الفرق بين include و extend في الروبي ؟

HardWord

السؤال

Recommended Posts

  • 0

تقوم extend بإضافة توابع (methods) الوحدة وثوابتها إلى صنف ميتا (metaclass) المستهدف فعلى سبيل المثال إذا قمت باستدعاء obj.extend(Mod) سوف يأخذ obj توابع Mod (كتوابع المثيل) لكن لن يتم إضافة مثيل آخر لـ obj.class لديه هذه التوابع.

فـ extend هي تابع عام.

أما include فهي تقوم بشكل افتراضي بخلط توابع وحدة محددة كمثيل توابع إلى الوحدة\الصنف المستهدف، فإذا قمت باستدعاء class Klazz; include Mod; end;, سوف يكون لدى جميع مثيلات Klazz إمكانية الوصول إلى توابع Mod (كتوابع المثيل).

فـ include هي تابع خاص لأن الغرض منه أن يتم استدعاؤه من داخل الصنف\الوحدة.

 

المصدر

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...