HardWord نشر 29 سبتمبر 2015 أرسل تقرير نشر 29 سبتمبر 2015 أريد معرف الفرق بين include و extend لأنني أجد أن لهما نفس الوظيفة فهل هنالك فرق بينهم ؟ أم أنهما نفس الشيء ؟ اقتباس
0 هشام رزق الله نشر 29 سبتمبر 2015 أرسل تقرير نشر 29 سبتمبر 2015 تقوم extend بإضافة توابع (methods) الوحدة وثوابتها إلى صنف ميتا (metaclass) المستهدف فعلى سبيل المثال إذا قمت باستدعاء obj.extend(Mod) سوف يأخذ obj توابع Mod (كتوابع المثيل) لكن لن يتم إضافة مثيل آخر لـ obj.class لديه هذه التوابع.فـ extend هي تابع عام.أما include فهي تقوم بشكل افتراضي بخلط توابع وحدة محددة كمثيل توابع إلى الوحدة\الصنف المستهدف، فإذا قمت باستدعاء class Klazz; include Mod; end;, سوف يكون لدى جميع مثيلات Klazz إمكانية الوصول إلى توابع Mod (كتوابع المثيل).فـ include هي تابع خاص لأن الغرض منه أن يتم استدعاؤه من داخل الصنف\الوحدة. المصدر اقتباس
السؤال
HardWord
أريد معرف الفرق بين include و extend لأنني أجد أن لهما نفس الوظيفة فهل هنالك فرق بينهم ؟ أم أنهما نفس الشيء ؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.