تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
الدوال و الاجراءات و الفرق بينهما في الجافا ..(4)
#1
هذا الموضوع يعتبر من اهم المواضيع التي سأتحدث عنها في هذه الدورة لما له من اهمية كبيرة في طريقة كتابة الكود و تنظيمه في لغة الجافا ... فلغة الجافا بطيئة نوعا ما في تنفيذ بعض الاوامر و خاصة الاوامر المعقدة و لذالك نحتاج كثيرا الي تنظيم الكود الخاص بعملية معينة و الحاجة الي وضعه في مجموعات هذه المجموعات هي التي تسمي الدوال ..
تخيل انك تحتاج الي كتابة كود يتكون من عشرون سطرا مثلا داخل اداة ذر ليتم تنفيذة مع حدث الضغط .. ماذا سيكون رد فعل البرنامج حيال ذلك !!
ستجد ان هناك بطئ في تنفيذ مجموعة الاوامر هذه ..ولغة الجافا احوج ما تكون الي تنظيم و ضغط الكود وتحري الدقة اثناء كتابة الكود لاننا كما ذكرنا مسبقا ان لغة الجافا لا تتعامل مع عتاد الجهاز hardware مباشرتا و انما تحتاج الي مترجم و مفسر .
[b]لذلك فكتابة الكود بطريقة معقدة غير منظمة في لغة الجافا لا داعي اليه !..


كما اود ان اوضح ان لغة الجافا حساسة ايضا من ناحيتين :
الاولي ان لغة الجافا حساسة من حيث ترتيب التعليمات ..فمثلا لا يجوز ان تتعامل مع متغير ثم تستدعيه ..او ماشابه.
الثانية ان لغة الجافا حساسة من ناحية كتابة الحروف .. فنجد ان العديد من المتغيرات تبدا بالحروف ال small و ايضا نجد ان العديد من الكلمات ذات المقطعين تبدا بالحروف الصغيرة ثم حروف كبيرة مثل jTextArea ..

[b]و اود بالذكر انه لا داعي الي تعريف العديد من المتغيرات او الاستعانة بالعديد من المكتبات فكل هذا يقع علي عاتق كل من المترجم و المفسر و الآله الافتراضية JVM ..مما سيسبب بطئ في بعض الاحيان و الاستهلاك الملحوظ لعتاد الجهاز ..


و لعدم الاطالة نبدا في موضوعنا اليوم و هو الدوال و الاجرائات في لغة الجافا ..

اولا : الدوال :
و الدوال هنا هي مجموعة من التعليمات مضمنة ضمن مجموعة واحدة و لها عنوان و هو عنوان الدالة ..
و الدوال في الاغلب تقوم بارجاع قيم اما صحيحة او غير ذلك ..


كود :
private int sys(int a,int b)
{
int a ;
code //
return 0;
}



فنجد هنا ان الدالة مقسمة الي عدة اجزاء و هي :
1_مستوي استدعاء الدالة و يتمثل في : [b]private تمثل استدعاء الدالة علي المستوي المحلي للفورم ..
2_نوع الدالة و يتمثل في : int اي ان الدالة صحيحة و القيم المرجعة قيم صحيحة ...
3_اسم الدالة : sys و يمكنك تغيره كما تشاء ...
4_القيم الممررة في الدالة .. كانك تعرف متغيرين صحيحين تماما int a,int b
5_جسم الدالة و هو الحيز المسموح بكتابة التعليمات داخلة // code
6_دالة الارجاع للقيمة النهائية للدالة sys و هي قيمة صحيحة .. [b]return a

مثال بسيط لبرنامج يستخدم لحساب مساحة المستطيل بالاعتماد علي دالة :






[b]
البرنامج الناتج :
[/b][/b]
[b]ثانيا : الاجراءات :
وهي نوع من الدوال التي لا ترجع قيمة .. و في الاغلب نوعها void , او انها لا تحوي علي قيم ممررة و هي الاكثر شيوعا ..
يمكننا استخدام هذا النوع من الدوال لتجميع عدد من الاوامر التي نحتاج اختصارها و استدعائها في حدث اخر توفيرا للوقت و زيادة في سرعة التنفيذ ..

الشكل العام للدالة و هو بسيط للغاية :

كود :
private void clear()
    {
       //code    
    }



برنامج بسيط لتفريغ حقل نصي بالاعتماد علي اجراء :



البرنامج الناتج :




برنامج بسيط لحساب مساحة الدائرة يستخدم دالة من نوع void بها قيم حسابية و لكنها لا ترجع قيمة :




[/b]
[b]البرنامج الناتج :
[/b]
[b]الفرق بين public , void :
public تمثل استدعاء الاجراء من كامل المشروع ..
void استدعاء الاجراء علي المستوي المحلي للفورم ..

انواع دوال اخري :
int دالة تعتمد علي قيم صحيح في بنائها الداخلي و تقوم بارجاع قيمة صحيحة ..
double دالة تعتمد علي قيم كسرية في بنائها الداخلي و تقوم بارجاع قيمة كسرية ..

كود :
double str()
    {    
        return 0;
[b][b][b][b][b][b][align=center][align=right][align=left][align=right][align=center][align=right]    }
[/align]
[/align]
[/align]
[/align]
[/align]
[/align]
[/b][/b][/b]

في النهاية مع روابط التحميل :
--------------------------------------
رابط تحميل امثلة الدرس :
http://vb4arb.com/vb/uploaded/18_51350637378.rar


المزيد قادم ... و السلام عليكم ورحمة الله ..
[/b][/b][/b][/b]
[/b][/b][/b]
}}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  المصفوفات و انواعها في الجافا ..(5) RaggiTech 0 1,665 19-10-12, 01:12 PM
آخر رد: RaggiTech
  الحلقات التكرارية في الجافا ... (3) RaggiTech 0 1,487 19-10-12, 12:59 PM
آخر رد: RaggiTech
  بني التحكم و حالاتها في الجافا + امثلة عملية .. (2) RaggiTech 1 786 19-10-12, 12:55 PM
آخر رد: RaggiTech
  المتغيرات - المعاملات في الجافا + امثلة .. (1) RaggiTech 0 1,351 19-10-12, 12:51 PM
آخر رد: RaggiTech
  الدرس العاشر - حزم الجافا (Java Packages) RaggiTech 0 604 19-10-12, 12:32 PM
آخر رد: RaggiTech
  الدرس الثامن - تخزين البيانات الضخمة بقاعدة البيانات اوراكل بواسطة الجافا RaggiTech 0 736 19-10-12, 12:26 PM
آخر رد: RaggiTech
  الدرس الأول : برنامجك الأول بلغة الجافا oneyemenweb2 0 395 15-10-12, 06:19 PM
آخر رد: oneyemenweb2

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


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم