الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال:ما الفرق بين هذه الكلمات المفتاحية؟

مغلق
بدأه idle man في 25 سبتمبر 2005 · 7 رد · 1,155 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله ..

كما هو موضح .. من السؤال ..

ما هو الفرق بين الكلمات المفتاحية التالية .

overloads , overridalbe,overrides

وما هي مواضيع الأستخدام ..

تم تعديل هذه المشاركة بواسطة crazy-man في 26 سبتمبر 2005 في 01:07

#3

في أنتظار ان يظبط لك الامور خبيرنا العزيز حازم

اليك بعض التعريفات المختصرة

OverLoads

تعني التحميل الزائد بالعربي و تعني انه يمكنك ان تعطي مثلا لدالة معينة عدة تعريفات لنعطي مثال يكون احسن

مثلا لدينا الدالة Add تقوم بعملية جمع بين رقمين و تأخذ 2 Parametrs

Public Function Add(ByVal X As Integer, ByVal Y As Integer) As Integer
        Return X + Y
    End Function

و هذين ال Parametrs هما عبارة عن Integer ماذا لو اردنا أن تأخذ نفس الدالة معاملين من نوع Double و ترجع لنا Double!!!!

كل ما علينا هو ان نقوم بانشاء دالة بنفس الاسم لكن فقط علينا تغيير نوع معامل واحد على الاقل و يكون الكود الآخر كالتالي

Public Function Add(ByVal X As Double, ByVal Y As Double) As Double
        Return X + Y
    End Function

و طبعا الفنكشن التي ستنفذ ستنفذ على حسب المعامل الذي مررت لها

و هنا أمثلة اخرى لل OverLoading

OverRides:

تعني اعادة التعريف و طبعا هنا ندخل لل OOP و الكلاسات و الوراثة...(أنصحك بقراءة شئ حول ال OOP او حمل الفيديو الموجود في مكتبة الفيجوال بيسك.نت الذي يتحدث عن الوراثة)

المهم سأتشرح لك كأنك لديك قاعدة حول ال OOP

عندما نقوم بوراثة كلاس معين فيه مجموعة من ال Functions مثلا كلاس اسمه Human في الخاصية التالية :

Age

BirdthYear

و نريد ان نورثه لكلاس اسمه Tree

اذا في ال Base Class الدالة Age في الكلاس Human سيتم حسابها كالتالي :

Return Date.Now.Year - BirdthYear

لكن هل عمر الشجرة سيحسب هكذا !!!!!

طبعا لا كلنا نعرف ان عمر الشجرة يحسب بعدد الدوائر في جدعها

اذا يمكن ان نضيف خاصية في الكلاس Tree تسمى

Ring

ونقوم باعادة تعريف الدالة Age المورثة من الكلاس Humain و بذلك عند مناداة الدالة Age من الكلاس Human تنفذ بطريقة اما عند مناداتها من الكلاس Tree تنفذ بطريقة أخرى

و طبعا الدالة Age يجب ان تكون معلنة في الكلاس Humain كدالة Overradable

Public Overridable Function Age()

اتمنى ان اكون قد أفدتك

و السلام عليكم

#4

انتظر .. التضبيط اخ hazzom..

ومشكور ..crazy-man ..

بالنسبة لل OOP ليست جديدة علي ..

ولكنني عندما بحث في مكتبة مايكروسوف msdn ...

عرفت ان Overridable يتم استعمالها مع الكلاس الذي يورث الخصائص

وان overrides يتم استعمالها مع الكلاس الأب..

اذا لم اخطئ....

#5
اقتباس
عرفت ان Overridable يتم استعمالها مع الكلاس الذي يورث الخصائص

وان overrides يتم استعمالها مع الكلاس الأب..

ال Overridable تستخدم مع ال Base Class او الفئة الاب و ينبغى عليك ان توضح ان ال Maethod التى يمكن كتابتها مرة اخرى فى الفئة التى تورث منها Overridable

ثم فى الفئة الابن او ال Inherited Class تقوم بوضع كلمة Overrides مع ال Method التى تريد اعادة كتابتها بعد ان تورث من الفئة الاب Base Class

Technical Lead Developer

My LinkedIn Profile

اللهم قنى شر الجهل و الجهلاء

( اقْتَرَبَ لِلنَّاسِ حِسَابُهُمْ وَهُمْ فِي غَفْلَةٍ مَّعْرِضُونَ ) {الأنبياء:1}

#6

السلام عليكم ورحمه الله وبركاته

لقد رفعت علي موقع جزء من كتاب مركز علي overridalbe,overrides وسهل جدا للفهم لتعرف الفرق مع الامثله وهو مركز علي المصتلحين بالضيط طول الفصل

وكمان الشرح علي البوربونت ما بتاخد منك خمس دقايق للتعرف الفرق

اما overloads فشرح السابق جدا كافي وكامل للتعريف :)

الرابطه هي :

http://www.geocities.com/computerrest/

#8

اعتقد ان الـ overloading واضحة وهي تعريف function وحدة ولكن بعدة اشكال بحسب القيم التي تعطي للمتغيرات الخاصة بها.

يعني انت عندك دالة تحسب رقمين صحيحين وتبغاها نفسها تحسب رقمين عشريين وتبغاها نفسها تجمع حرفين فعليك بتعريفها overloadin.

اما overridalbe,overrides فهذين طريقة القيام ببرمجتها يحتاج ان تقرأ وتطبق اما الفكرة هيه انك قد تحتاج ان تستدعي احد الاجراءات( function ) من اجراء اخر و قد لاتحتاجها فبهذا انت تحتاج ان تعرف الدالة الأب او التي تحتاجها او قد لاتحتاجها بانها overridalbe اما الدالة الاخرى تعرفها على انها overrides

وخليني اعطيك مثال للتوضيح, الان لو اردنا ان نعمل دالة تعطينها راتب الموظف هذه الدالة الأب ونعرفها على انها overridalbe ,طيب لو أردنا ان نحسب بدل المواصلات وهو عبارة عن نسبة ثابتة مضروبة في الراتب

فهذا يعني اننا سنحتاج ان نستدعي الدالة الأب التي تحسب الراتب ونضربها في قيمة النسبة وتعطينا بدل المواصلات فهذه الدالة نعرفها على انها overrides

طبعا نحتاج الى ان نكتب الأمر Inherites للدالة الأب من الدالة الثانية.

طبعا للمعلومية يجب ان تكون كل دالة في كلاس منفصل والله اعلم

إن شاء الله إن شاء الله تكون وصلت

طبعا هذا حسب فهمي واتمنى من الاخوان ان يقولو رايهم.

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…