InstagramTwitterSnapChat


 
وصف

العودة   منتديات سكاو > الكليات الجامعية > منتدى كلية الحاسبات وتقنية المعلومات > المنتدى العام لكلية الحاسبات وتقنية المعلومات
التسجيل مشاركات اليوم البحث
   
   


المنتدى العام لكلية الحاسبات وتقنية المعلومات قسم خاص بالمواد العامة و الطلاب غير المتخصصين بكلية الحاسبات وتقنية المعلومات

[شرح][CPCS 203] أفهم تحميل الطرق تحميلاً زائداً (Overloaded)

المنتدى العام لكلية الحاسبات وتقنية المعلومات

 
 
أدوات الموضوع إبحث في الموضوع انواع عرض الموضوع
منتديات طلاب وطالبات جامعة الملك عبد العزيز منتديات طلاب وطالبات جامعة الملك عبد العزيز
  #1  
قديم 23-04-2010, 05:31 PM
الصورة الرمزية Mr.Ahmad

Mr.Ahmad Mr.Ahmad غير متواجد حالياً

عضو هيئة تدريس

 
تاريخ التسجيل: Jul 2008
الكلية: كلية الحاسبات وتقنية المعلومات
التخصص: IT
نوع الدراسة: عضو هيئة تدريس
المستوى: متخرج
البلد: جــــدة
الجنس: ذكر
المشاركات: 2,477
Skaau.com (11) [شرح][CPCS 203] أفهم تحميل الطرق تحميلاً زائداً (Overloaded)


بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
__________________________________________________ ______________________________
* مــا شاء الله تبارك الله *
الحمد لله عدد ما خلق , الحمد لله ملء ما خلق , الحمد لله عدد ما في السموات وما في الأرض , الحمد لله عدد ما أحصى كتابه ، والحمد لله على ما أحصى كتابه ، والحمد لله عدد كل شيء والحمد لله ملء كل شيء .
اللهم صل على محمد وعلى آل محمد كما صليت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد . اللهم بارك على محمد وعلى آل محمد كما باركت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد.
لا إله إلا الله وحده لا شريك له الملك وله الحمد وهو على كل شيء قدير .
سبحـــــــان الله وبحمده … سبحــان الله العظيم
__________________________________________________ ______________________________

[شرح][CPCS 203] أفهم تحميل الطرق تحميلاً زائداً (Overloaded)

الدروس السابقة :
[شرح][CPCS 203] أفهم المُشيدات أو دالة البناء (Constructor)
[شرح][CPCS 203] أفهم مفهوم الـ global و local و المدى (Scope) !
[شرح][CPCS 203] أفهم الكلمة الأساسية public و private .
[شرح][ CPCS 203 - برمجة 2 ] أفهم عمل الكلمة الأساسية new عند إنشاء كائن (Object) !
[شرح][ CPCS 203 - برمجة 2 ] أفهم مفهوم الفئة (Class) والعناصر (Objects) بكلمات بسيطة
[جافا - Java] شرح صنع ملف تنفيذي (exe) من برامجك المبرمجة بالجافا !

مرحباً بكم أخواني في هذا الدرس الجديد , الذي ألحقته بدرس المشيدات (Constructor) لفهم جزئية تحميل المشيدات تحميلاً زائداً (Overloading Constructors) ، لذلك بإذن الله عند فهمك لهذا الدرس ستفهم جزئية تحميل المشيدات تحميلاً زائداً المشروحة في درس المشيدات .

- أفهم تحميل الطرق تحميلاً زائداً (Overloaded) -

إذا كان هناك طريقتان أو أكثر لهم نفس المدى ( أي أنها مُعرفة داخل فئة واحدة ) ولهما أيضاً نفس الأسم ، يقال عنهم أنهم مُحملين بشكل زائد (Overloaded) .
ولكن قف قليلاً ! عندما نُعرف أكثر من متغير أو طريقة لها نفس الأسم ولهم نفس المدى سيظهر خطأ تصريف في البرنامج ويطلب منك تصحيح الخطأ ،،، مثال :





كما نرى في المثال الأول ، تم تعريف ثلاثة متغيرات لهم نفس الاسم وأنواعهم مختلفة . وظهر لنا خطأ تصريف في البرنامج . وكما هو الحال في المثال الثاني ، تم تعريف طريقتين لها نفس الاسم ولا تقبل بارامترات . وظهر لنا خطأ تصريف في البرنامج .

ولكن بالمقابل فكر في طريقة (System.out.println) التي تستقبل بارامتراتها أي نوع من البيانات والمتغيرات ! فعندما نمرر بارامتر نوعه سلسلة نصية تقبل ذلك ، وكذلك عندما نمرر لها رقم صحيح أو رقم حقيقي (يحتوي على فاصلة) تقبل ذلك ! وكذلك عندما لا تمرر لها أي بارامترات تقبل ذلك ! أنظر إلى المثال التالي :



كما نلاحظ في هذا المثال ، الطريقة println المُـعرفة داخل الفئة System.out تقبل تارة بارامتر نوعه سلسلة نصية وتارة أخرى تقبل بارامتر عدد وتارة أخرى لا تقبل أي بارامتر !
هذا لأن الطريقة (System.out.println) لها عدة إصدارات منها ، وكل إصدار منها يأخذ مجموعة مختلفة من البارمترات ، كما هو مشاهد عند كتابة الطريقة تُظهر لنا ميزة IntelliSense (إكمال الكود) عشرة خيارات (إصدارات) مختلفا للطريقة ، كما نلاحظ في الصورة التالية :



كما نلاحظ , يوجد هناك عشرة إصدارات مختلفة من طريقة println , منها :
println(String x) void : إصدار يقبل بارامتر من نوع سلسلة نصية .
println(int x) void : إصدار يقبل بارامتر من نوع عدد صحيح (Integer) .
println(char[] x) void : إصدار يقبل بارامتر من نوع مصفوفة من الحروف (character) .
وغير من الإصدارات المختلفة .

التحميل تحميلاً زائداً هو أمر مفيد عندما نحتاج إلى تنفيذ نفس العملية على أنواع مختلفة من البيانات . يمكنك تحميل طريقة تحميلاً زائداً عندما يكون لإصداراتها المختلفة مجموعة مختلفة من البارامترات – ( أي : عندما تكون لها نفس الاسم ولكن عدداً مختلفاً من البارامترات ) - أو عندما تختلف أنواع البارامترات .

مثال : في هذا المثال سنقوم بتحميل طريقة تحميلاً زائداً ، تطبع على شاشة لوحة التحكم جمـلة توضح أي طريقة اُستخدمت من إصدارات الطريقة المحملة بشكل زائد :



نتيجة الكود السابق :



الكود السابق مثال بسيط يوضح كيفية إنشاء طريقة مُحملة بشكل زائد. نتيجة الكود السابق كما يتضح في الصورة السابقة .

حال استدعاء طريقة محملة بشكل زائد يقوم المُـصرف باختيار الإصدار المناسب للطريقة اعتماداً على عدد البارامترات الممررة للطريقة ثم بحسب نوعها .
ملاحظة : أقصد بالمُـصرف هو المترجم (Compiler) الذي يترجم ( يحول ) الكود إلى لغة يفهمها الكمبيوتر ( لغة الآلة ) .

ملاحظة : “ لا يمكنك تصريح طريقتين بنفس الاسم ولهما نفس نوع وعدد البارامترات وتختلفان فقط في نوع الإعادة ” . مثال :



تم بحمد الله .


__________________________________________________ ______________________________


لا تنسونا من دعائكم .
وتمنياتي لي و لكم بالتوفيق,,,

 


توقيع Mr.Ahmad  

سبحان الله وبحمد ,,, سبحان الله العظيم
الحمد لله كما ينبغي لجلال وجهه وعظيم سلطانه .
اللهم صل على محمد وعلى آل محمد كما صليت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد . اللهم بارك على محمد وعلى آل محمد كما باركت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد.

 

رد مع اقتباس

 

 


تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع

 


الساعة الآن 04:01 PM


Powered by vBulletin® Version 3.8.9 Beta 3
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Ads Organizer 3.0.3 by Analytics - Distance Education

أن كل ما ينشر في المنتدى لا يمثل رأي الإدارة وانما يمثل رأي أصحابها

جميع الحقوق محفوظة لشبكة سكاو

2003-2023