مفاهيم للغة الجافا

0 33

1)Function:
#الدالة : هو إجراء برمجي يقوم بعملية معينة مثل عملية الجمع أو عملية ترتيب مصفوفة أو عملية البحث في قاعدة البيانات عن قيمة معينة أو طباعة جملة أو كلمة وهكذا …
#مميزات_الدوال : انها تنظم لنا كتابة الكود بحيث نستطيع عند كتابة البرنامج إلى عدة مهام وكل مهمة نقوم بكتابتها إلى دالة
#مثال: لنفترض انك تريد القيام ببناء برنامج يطلب من المستخدم ادخال رقم الطالب واسمه ودرجاته ومن ثم إيجاد المعدل للطالب ثم طباعة البيانات المدخلة مع المعدل
فبدلا من كتابة الكود ككتلة واحدة على شكل أسطر متتالية تستطيع أن تبني برنامجك بشكل منظم عن طريق تقسيم المهام إلى دوال فيمكنك بناء دالة مهمتها أن تطلب من المستخدم إدخال اسم الطالب ودرجاته
ودالة تقوم بإيجاد المعدل بعد عملية الإدخال ودالة أخرى تقوم بطباعة بيانات الطالب المدخلة مع المعدل
#انواع_الدوال: هناك نوعان من الدوال
1- دالة تعيد بقيمة .
2- دالة لا تعيد قيمة .
الأمر يعود لك انت ، تستطيع أن تقول اريد بناء دالة تعيد قيمة حتى استخدم القيمة المعادة أو المرتجعة في عملية أخرى على سبيل المثال اريد بناء دالة لجمع درجات الطالب اي (تعيد مجموع درجات الطالب) ومن ثم استخدم القيمة المعادة وهي ناتج جمع الدرجات ثم اقسم القيمة المعادة من هذه الدالة على عدد المواد حتى احصل على المعدل ومن ثم أقوم بطباعته على الشاشة (في هذه الحالة قمت بإنشاء دالة تعيد قيمة ) ….
ربما تقول لاداعي لهذا كله لا أريد أن استرجع مجموع الدرجات من الدالة ساقوم ببناء دالة تقوم بالثلاث المهام جمع الدرجات وإيجاد المعدل ومن ثم طباعة الناتج على الشاشة (في هذه الحالة قمت انت ببناء دالة لاتعيد قيمة )
#كيف_نفرق_بين_الدالة_التي_تعيد_قيمة_وبين_الدالة_التي_لاتعيد_قيمة
الدالة التي لاتعيد قيمة يتم تعريفها بالكلمة المحجوزة void
على سبيل المثال
void add ()
{
}
الدالة التي تعيد قيمة يتم تعريفها حسب التي ستعيدها هذه الدالة فإذا كانت الدالة ستعيد قيمة من نوع string يتم تعريفها من نوع string وإذا كانت الدالة ستعيد قيمة من نوع int يتم تعريفها من نوع int وهكذا على سبيل المثال لنفترض اننا نريد بناء دالة تستقبل 3 إعداد وتقوم بإعادة ناتج جمع هذه الثلاثة الإعداد
int sum (int x, int y,int z)
{
Int c=x+y+z;
return c;
}
لاحظ قمنا بجمع الثلاثة المتغيرات في متغير اسمه C ثم أعدنا القيمة عن طريق الأمر return
وتستطيع استدعائها في البرنامج الرئيسي بالشكل التالي
void main ()
{
Int result=sum (200,100,50);
cout <<result;
}
لاحظ في البرنامج الرئيسي قمنا باستدعاء الدالة وتخزين القيمة المرتجعة في المتغير result
اي سؤال أو استفسار ننتظره في التعليقات

لا يتوفر نص بديل تلقائي.

#ملاحظة هذه القواعد تنطبق على لغة ++java ,  c# ,c

2)مالفرق بين الــ Class والــ Object :
– الـ Class ويسمى باللغة العربية ( الصنف أو الفئة أو الطريقة ) ويحتوي على مجموعة من المتغيرات والدوال التي يتم استخدامها في البرنامج
– الـ object ويسمى باللغة العربية (الكائن) عندما تنشئ كلاس وتريد الوصول إلى المتغيرات أو الدوال التي بداخله فلا بد من القيام بإنشاء object كائن للوصول إلى محتويات الـ class سنرى ذلك في بقية الشرح
• يتم تعريف الـ Class بالطريقة التالية
class className
{
}
يعني عندما تريد بناء الكلاس فلا بد أن تبدأ بكتابة الكلمة المحجوزة class ثم اسم الكلاس على سبيل المثال نريد إنشاء كلاس خاص بالطالب اسمه student سنقوم ببنائه بالطريقة التالية
class student
{
Int deg1,deg2,deg3;
Int sum()
{
return deg1+deg2+deg3;
}
}
بعد أن قمنا ببناء الـ class هنا يأتي دور الـ object
لنفترض أننا في البرنامج الرئيسي أردنا الوصول إلى المتغيرات الموجودة في ال class deg1,deg2,deg3; لإعطائها قيم ثم استدعاء الدالة لطباعة المجموع في هذه الحالة لن نستطيع الوصول الى المتغيرات الموجودة والدالة sum الموجودة في الـ class إلا بعد إنشاء object من الـ class بالطريقة التالية
student st=new student();
في السطر السابق قمنا بإنشاء object أو كائن من الclass اسمه st
الآن نستطيع الوصول إلى كل المتغيرات والدوال التي بداخل الclass عن طريق الobject المسمى st

الصورة التالية توضح لك ذلك:

3)ماهو constructor class
الــ constructor class هو إجراء يحمل نفس اسم الكلاس ,ولا يوجد له Data Type ويتم تنفيذه تلقائياً بمجرد إنشاء object من الكلاس وعادةً مايتم إنشاء الـ constructor class لتهيئة القيم أو أعدائها قيم أولية أو إظهار رسائل عند تشغيل البرنامج
المثال التالي يوضح كيفية إنشاء constructor class:
4) ماهو المقصود ب overload function أو التحميل الزائد :
المقصود ب overload function أو التحميل الزائد في عالم البرمجة هو إمكانية تسمية أكثر من دالة بنفس الاسم بشرط أن تكون مختلفة في المعاملات أو مايسمى Arguments
الكود التالي يوضح كيفية تعريف أكثر من دالة بنفس الاسم مع الاختلاف في المعاملات Arguments
لاحظ انه تم تسمية دالتين بنفس الاسم
وفي البرنامج الرئيسي تم الاستدعاء مرتين
في المرة الأولى تم الاستدعاء وكان المعاملين Arguments عددين صحيحة هنا سوف يقوم المترجم تلقائيا باختيار الدالة التي تستقبل معاملات صحيحة
وفي المرة الثانية تم الاستدعاء وكان المعاملين Arguments عددين من نوع عشري هنا سوف يقوم المترجم باستدعاء الدالة التي تستقبل معاملات من نوع عدد عشري
الكود التالي يوضح الطريقة
//overloaded functions

تعليقات فيس بوك

اضافة تعليق

قد يعجبك ايضا أكثر من مؤلف

Loading...