0% found this document useful (0 votes)
357 views45 pages

OOP With Java Week 1 Revision

Uploaded by

Yousef Al-Ashqar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
357 views45 pages

OOP With Java Week 1 Revision

Uploaded by

Yousef Al-Ashqar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd

‫‪ ‬االبتسامة ‪....

‬‬
‫‪ ‬العلم ‪....‬‬ ‫عن عمر بن الخطاب رضي هللا عنه‪ ،‬قال‪:‬‬
‫‪ ‬زيارة المريض ‪....‬‬
‫‪ ‬تلبية الدعوة ‪....‬‬ ‫سمعت رسول هللا صلى هللا عليه وسلم يقول‪:‬‬
‫‪ ‬التنفس ‪....‬‬
‫‪ ‬مصافحة الناس ‪....‬‬
‫(إنما األعمال بالنيات‪ ،‬وإنما لكل‬
‫‪ ‬مساعدة الناس ‪....‬‬
‫‪ ‬النوم ‪....‬‬
‫امرئ ما نوى‪ ،‬فمن كانت هجرته‬ ‫ٍ‬
‫‪ ‬األكل ‪....‬‬
‫‪ ‬الشرب ‪....‬‬
‫إلى هللا ورسوله فهجرته إلى هللا‬
‫‪ ‬دخول الحمــام ‪....‬‬
‫ورسوله‪ ،‬ومن كانت هجرته لدنيا‬
‫‪ ‬كل هذه أعمال مباحة بالنية الصالحة تصبح‬
‫عبادة في ميزانك ‪...‬‬ ‫يصيبها أو امرأ ٍة ينكحها‪ ،‬فهجرته‬
‫إلى ما هاجر إليه)‬
‫متفق عليه‬
‫‪ ‬تعريف بمدرس المساق ؟‬

‫‪ ‬توزيــــع الدرجات‬

‫‪ ‬هكذا تحقق النجاح و تتمكن من المسـاق‬

‫‪ ‬قواعد لحضــور محاضرات المساق‬

‫‪ ‬لمـــاذا البرمجـــة ؟‬

‫‪ ‬ما هو مساق البرمجـة الشيئيـــة ؟‬

‫‪ ‬كيف أصن ُع برنامجــًا(تطبيقــًا)؟‬

‫‪ ‬بناء البرامج في لغة جــافا‬

‫‪ ‬مراجعة المفاهيم األساسيـــة في لغات الـبرمجة ‪...‬‬


‫من هو مدرس المســـاق ؟‬
‫‪ ‬االسم‪ :‬محمود رفيــق الفــرَّا‬
‫‪ ‬شهاداتي‪:‬‬
‫ماجستيـــر علوم حاسوب ‪ ,‬األكاديمية العربية للعلوم و التكنولوجيا و النقل البحري‪ -‬األسكندرية‪ ,‬موضوع الرسالة ‪:‬‬ ‫‪‬‬
‫‪ , Document clustering using Graph based GH-SOM‬بتقدير ‪2008 , %97‬‬
‫بكالوريوس علوم الحاسوب ‪ ,‬الجامعة اإلسالمية – غزة ‪ ,‬بتقدير ‪2004 , %77‬‬ ‫‪‬‬
‫الشهادة الثانوية –علمي – مدرسة خالد الحسن الثانوية للبنين ‪ ,‬خان يونس ‪ ,‬بتقدير ‪1999 , %89,2‬‬ ‫‪‬‬

‫‪ ‬العمل الحالي‪:‬‬
‫محاضر بكلية العلوم و التكنولوجيا – خان يونس منذ أبريل ‪ 2009‬و حتى اآلن‬ ‫‪‬‬
‫محاضر غير متفرغ بالكلية الجامعية للعلوم التطبيقية – غزة ‪ ,‬من سبتمبر ‪ 2008‬حتى يونيو ‪2009‬‬ ‫‪‬‬
‫‪ ‬العمل السابق‪:‬‬
‫رئيس ملتقى تكنولوجيا المعلومات األول حول ( التعليم اإللكتروني بين تجارب الواقع و طموح المستقبل )‬ ‫‪‬‬
‫رئيس قسم مركز الحاسوب بالكلية منذ سبتمبر ‪ 2009‬و حتى أكتوبر ‪2010‬‬ ‫‪‬‬
‫محاضر غير متفرغ بجامعة فلسطين – غزة ‪ ,‬من سبتمبر ‪ 2008‬حتى يونيو ‪2009‬‬ ‫‪‬‬
‫محاضر غير متفرغ بجامعة القدس المفتوحة – خان يونس ‪ ,‬من أكتوبر ‪ 2008‬حتى يونيو ‪2009‬‬ ‫‪‬‬
‫محاضر غير متفرغ بكلية العلوم و التكنولوجيا – خان يونس‪ ,‬من أكتوبر ‪ 2008‬حتى فبراير ‪2009‬‬ ‫‪‬‬
‫‪ ‬الموقع الرسمي الخاص‪:‬‬
‫‪http://staff.cst.ps/mfarra‬‬
‫توزيــــع الدرجات‬
‫هكذا تحقق النجاح و تتمكن من المسـاق‬
‫‪ ‬مراجعة محاضراتك أوال بأول تعطيك القدرة على معالجة أخطاءك دون تأخير‪.‬‬

‫‪ ‬الحضور يمنحك القدرة على االستيعاب و مناقشة المدرس ‪.‬‬

‫‪ ‬بادر دائما للـتفاعل مع المدرس بالسؤال و اـإلجابة و االستفسار و النقاش‪.‬‬

‫‪ ‬اصنع لنفسك مجموعة مع زمالءك و ناقشهم و ذاكر معهم و تبادل معهم االراء فهذا يجعلك أكثر‬
‫قدرة على فهم المساق‪.‬‬

‫‪ ‬وفر لنفسك كافة العوامل التي تجعلك تجلس في المحاضرة بتركيز ‪ ...‬مثل‪:‬‬
‫اإلفطــار‬ ‫‪.1‬‬

‫شرب شيء ساخن‬ ‫‪.2‬‬

‫قراءة القرآن‬ ‫‪.3‬‬

‫الضحك مع زمالءك قبل المحاضرة‬ ‫‪.4‬‬

‫غير ذلك‪.‬‬ ‫‪.5‬‬


‫قواعد لحضــور محاضرات المساق‪:‬‬
‫‪ ‬عدم التأخر عن المحاضرة لفترة أطول من ‪ 5‬دقائق و في حال تأخر المدرس عليك باأللتزام و‬
‫مراجعة المحاضرة الماضية عمليــًا أو نظريـًا‪.‬‬

‫‪ ‬انصحك بالحضور للمحاضرات فذلك سيرفع أسهمك في درجات النشاط و االلتزام و كذلك قدرتك‬
‫على االستيعاب‪.‬‬

‫‪ ‬بادر دائما إلـى تسليم واجباتك في الموعد المحدد و اعلـم أن التأخر في اـلتسليم ينقص نصيبك من‬
‫الدرجات‪.‬‬

‫‪ ‬رنة جوالك تعبر عن سوء التزامك‪.‬‬

‫‪ ‬حجابِك يميز التزامك من عدمه‪.‬‬

‫‪ ‬وفِّر لنفسك جها ًزا جي ًدا في البيت مع تنزيل البرنامج بعد المحاضرة األولى فهذا سيساعدك على‬
‫استيعاب المحاضرات و بالتالي سيزيد نشاطك‪.‬‬
‫لمـــاذا البرمجـــة ؟‬
‫‪ ‬عدد كبير من المهام التي يقوم بها الموظفون في هذا العالم تحتاج إلى من ينجزها مع التالي ‪:‬‬
‫السرعة‪.‬‬ ‫‪.1‬‬

‫الدقة ‪.‬‬ ‫‪.2‬‬

‫عدم الملل ‪.‬‬ ‫‪.3‬‬

‫التخزين الدائم و حفظها‪.‬‬ ‫‪.4‬‬

‫‪ ‬هذه اـألمور يمكننا الحصول عليها من خالل إنجاز تطبيقات تقوم بهذه المهام و تعمل من خالل‬
‫الحاسوب‪.‬‬
‫ما هو مساق البرمجـة الشيئيـــة ؟‬
‫‪ ‬أسلوب جديد من أساليب البرمجة يساعدك على إعادة استخدام األكواد و سهولة استخدامها‪.‬‬
‫‪ ‬يهدف هذا المساق إلى تقديم الطالب لمفاهيم البرمجة الشيئية باستخدام لغة جافا مع إعطاءه القدرة‬
‫على تمييز قدراتها مقارنة بأساليب البرمجة اـلسابقة‪.‬‬
‫‪ ‬و من خالل هذاـ المساق سيتمكن الطالب من التعامل مع‬
‫‪‬‬ ‫‪Classes‬‬
‫‪‬‬ ‫‪Objects‬‬
‫‪‬‬ ‫‪Inheritance‬‬
‫‪‬‬ ‫‪Polymorphism‬‬
‫كيـــف أصنـــع برنامجـــًا ؟‬
‫‪ ‬صناعة أي شيء يحتاج إلى التفكير ‪ ...‬التخطيط ‪ ....‬التنفيذ ‪ ...‬االختبار‬
‫‪ ‬و لصناعة برنامج ‪ ,‬نقم بالتالي‪:‬‬
‫ما الذي أريد بناءه؟ (خرابيــــــش!!!)‬ ‫‪.1‬‬
‫كيف أبنيه ؟ ( ‪)Algorithm, pseudo code‬‬ ‫‪.2‬‬
‫كيف أنفذ ؟ (‪)…,++Java, C#, C‬‬ ‫‪.3‬‬
‫كيف أختبــر ؟‬ ‫‪.4‬‬
‫و هذه مشكلة تحتاج خرابيـشكـ !!‬
‫‪ 10 ‬موظفين يحصل كل واحد منهم على مرتب و يتم خصم ‪ %5‬من راتبه‬
‫كضريبة و ‪ %2‬كتأمين صحي‪.‬‬
‫‪ ‬نحتاج لعمل برنامج يقوم بهذه المهمة و يظهر مرتباتهم قبل الخصم و بعده ‪ ...‬و‬
‫متوسط مرتباتهم‬
‫‪ ...‬التخطيط‬

‫أدخل المرتبات األصلية للموظفين العشرة‪.‬‬ ‫‪.1‬‬


‫اخصم من كل واحد منهم (‪ )%0.07‬و احفظ الناتج كمرتبات الجديدة‬ ‫‪.2‬‬
‫قم بجمع المرتبات بعد الخصم‬ ‫‪.3‬‬
‫قم بقسمة المجموع على عددهم (‪)10‬‬ ‫‪.4‬‬
‫‪Pseudo Code‬‬ ‫اطبع ناتج ‪2‬‬ ‫‪.5‬‬
‫اطبع ناتج ‪4‬‬ ‫‪.6‬‬

‫قم أنت برسم مخطط سير العمليات‬ ‫تدريب ذاتي ‪1‬‬


‫‪ ...‬التنفيــــذ‬
‫‪ ‬هنا تستخدم أي لغة برمجة أنت تعرفها لتنفيذ البرنامج ‪...‬‬
‫‪ ‬جميـــع اللغات تصلح لتنفيذ هذه الفكرة ‪...‬‬
‫بنـــاء البـــرامــج‬
‫‪1‬‬

‫‪4‬‬ ‫‪2‬‬

‫‪3‬‬

‫سنبدأ في رحلة سريعة لمراجعة مفاهيم جافا األساسية‬ ‫التالي‬


‫المفاهيم األساسيــــة من لغة ‪Java‬‬
‫‪ ‬في كافة لغات البرمجة يوجد مفاهيم أساسية تتعلق بأبسط المكونات التي من خاللها‬
‫تكون قاد ًرا على كتابة برنامجــًا و لو بسيــطــًا‪.‬‬
‫‪ ‬هذه المفاهيــم تكون مشتـــركة و لكن طريقة كتابتها و تعريفها للمترجم قد تختلف‪.‬‬
‫‪ ‬في لغة جــافـــا ‪ ...‬تعلمت أنت عد ًدا منها في الفصل الماضي ‪ ,‬فهيا بنا عــاجـــال‬
‫نراجعـهـــــا ســـويــًا ‪....‬‬
‫تعريف المتغيرات‬ ‫‪‬‬
‫استخدام جمل االختيار (‪) If , if else, if elseif , switch … case‬‬ ‫‪‬‬
‫استخدام جمل التكرار (‪)For, while, do… while‬‬ ‫‪‬‬
‫تعريف الـمصفوفات‬ ‫‪‬‬
‫تعريف الدوال و استخدامها‬ ‫‪‬‬
‫تعــريف المتغــــيرات و استخـدامهــا‬
‫‪ ‬تعريف المتغير ‪ ...‬هو أسلوب نحاول من خالله تسمية موضع معين في الذاكرة و‬
‫تخصيصه لتخزين نوع معين من البيانات ‪ ...‬و بتسميته يسهل عليها التعامل معه‬
‫و معالجة البيانات المخزنة داخله من خالل البرنامج ‪.‬‬

‫ســيتمـ تـــخصيصمساحة فـــياــلذاـكرة ســعتهـا ‪ 1‬بـــايت‪Byte x = 28 ; //‬‬


‫ســيتمـ تـــخصيصمساحة فـــياــلذاـكرة ســعتهـا ‪ 2‬بـــايت‪int y; //‬‬
‫بمجرد هذا التعريف يتم‬
‫تخصيص مساحة في الذاكرة‬
‫لتخزين رقم صغير بحجم أقصى‬
‫‪ 1‬بايت‬

‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫مقطع من الذكرة‬
‫تدريب ‪: 1‬التعامل مع المتغيرات‬
‫‪ ‬اكتب برنامجــًا يستقبل من المستخدم رقمين و يطبع مجموعهم‬

‫البرمجة لها أسس و ضوابط من خاللها يمكننا الوصول للهدف‬ ‫ومضة‬


‫ الحـــل‬:1 ‫تدريب‬
Java Code Pseudo Code
‫جمل التحكم في سير العمليات‬
‫‪ ‬في لغات البرمجة هناك أوامر تجعل المترجم ال يمر على كافة الجمل ‪ ,‬بل على‬
‫بعضها فقط و قد يكرر جمل معينه مرات عديدة ‪ ...‬هذا ما يُسمى جمل التحكم في‬
‫سير العمليات‪.‬‬
‫‪Selection statement‬‬ ‫جمل االختيــــار‬
‫‪ ‬في حياتنا العامة نواجه دائما مسائل ال نُقدم فيها على خطوة إال بنا ًء على نتيجة‬
‫حدث معين ‪ ...‬هذا االمر موجود في لغات البرمجة تحت اسم جمل االختيار ‪...‬‬
Selection statement ‫جمل االختيــــار‬
If statements
if ( grade >= 60 ) if ( x > 5 )
System.out.println( "Passed" ); {
else if ( y > 5 )
System.out.println( "Failed" ); System.out.println( "x and y are > 5" );
}
else
Switch case System.out.println( "x is <= 5" );
Switch (choose)
{ if ( studentGrade >= 90 )
Case 1: System.out.println( "A" );
System.out.println( “First" ); else if ( studentGrade >= 80 )
Break; System.out.println( "B" );
…. else if ( studentGrade >= 70 )
System.out.println( "C" );
Default: else if ( studentGrade >= 60 )
System.out.println( “Second"); System.out.println( "D" );
Break; else
} System.out.println( "F" );
‫تدريب ‪: 2‬التعامــل مع جمل االختيـار‬
‫‪ ‬اكتب برنامجــًا يستقبل من المستخدم ثالثة أرقام ثم يطبع أيهم أكبر‪...‬‬

‫بالرتيب و ضبط األمور تصل إلى هدفك البرمجي‬ ‫همســـة‬


‫تدريب ‪: 2‬التعامــل مع جمل االختيـار‬
‫‪Java Code‬‬ ‫‪Pseudo Code‬‬

‫قم ببرمجة التطبيق مستخدما صيغ أخرى من جمل االختيار‬ ‫تدريب ذاتي ‪2‬‬
‫جمل التكـرار‪Repeating statement‬‬
‫‪ ‬عندما تحتاج إلى تكرار عملية معينة في حياتك فإن بداية و نهاية هذا التكرار‬
‫يكون معتمد على أحد أمرين ‪:‬‬
‫‪ ‬شرط معين ‪ :‬مثل الوصول لمجموع معين ‪.‬‬
‫‪ ‬عدد معين‪ :‬مثل تكرار عملية الضرب لعدد معين‪.‬‬
‫‪ ‬هذه التكرارات لها صور في لغة جافا تتطابق معها و تسهل علينا االستفادة منها‬
‫في تطبيقاتنا ‪ ....‬و سوف نناقشها على عجل فيما يلي‬
Repeating statement‫جمل التكـرار‬
While loop

‫ابدأ‬
For loop
‫الشرط‬ true
‫احداث للتنفيذ‬
‫ابدأ‬
false false
‫نهاية‬ ‫الشرط‬
‫نهاية‬
do … While loop true
‫احداث للتنفيذ‬
true
‫ابدأ‬
Inc./dec.
‫احداث للتنفيذ‬ Condition

false
‫نهاية‬
‫تدريب ‪ :3‬التعامل مع جمل التكـرارـ‬
‫برنامجا يستقبل من المستخدم رقم صحيح ثم يوم بطباعة حاصل مضروبا‬
‫ً‬ ‫‪ ‬أكتب‬
‫ته من ‪ 1‬حتى ‪.12‬‬

‫التدريب على نمط (التفكير ‪ ...‬التخطيط ‪ ...‬التنفيذ) يجعلك أكثر قوة على حل‬ ‫تذكيـــــــر‬
‫المشاكل البرمجية‬
‫تدريب ‪ :3‬الحــــــل ‪...‬‬
‫‪Java Code‬‬
‫‪Pseudo Code‬‬

‫قم ببرمجة التطبيق مستخدما الصيغ األخرى للدورانات‬ ‫تدريب ذاتي ‪3‬‬
‫تعــريف المصفـــوفـات و استخدامهــا‬
‫‪ ‬المصفوفة هي مجموعة من المواضع المتجانسة و المتتالية في الذاكرة يقوم‬
‫المبرمج بتخصيصها لتخزين و معالجة نوع واحد من البيانات فيسهل عليه ترتيبها‬
‫الفهرس‬ ‫القيمة‬ ‫و البحث فيها و التعامل معها‪.‬‬
‫‪Index‬‬ ‫‪Value‬‬
‫‪String [] names = {“Ahmad”, “Mahmoud”, “Ali”,‬‬
‫]‪[0‬‬
‫‪Ahmad‬‬ ‫‪“Rafeek”, “Muaaz”, “Hussam”, “Mohammed”,‬‬
‫]‪[1‬‬ ‫;}”‪“Khadija‬‬
‫‪Mahmoud‬‬
‫]‪[2‬‬ ‫‪Ali‬‬
‫‪Rafeek‬‬ ‫;]‪String [] names = new String [8‬‬
‫]‪[3‬‬
‫;”‪names[0] = “Ahmad‬‬
‫]‪[4‬‬ ‫‪Muaaz‬‬ ‫;”‪names [1]= “Mahmoud‬‬
‫]‪[5‬‬ ‫‪Hussam‬‬ ‫‪.‬‬
‫‪Mohamm‬‬ ‫‪.‬‬
‫]‪[6‬‬ ‫‪ed‬‬ ‫;”‪names [7] = “Khadija‬‬
‫]‪[7‬‬ ‫‪Khadija‬‬
‫تدريب ‪ :4‬التعامل مع المصفـوفـات‬
‫‪ ‬أنشـــيء مصفوفة لتخزيــن ‪ 5‬أسماء بواسطة المبرمج ‪ ,‬ثم أطلب من المستخدم‬
‫إدخال اسم ليبحث عنه داخل المصفوفة فإذا وجده يظهر رسالة‬
‫… ‪The name is Exist‬‬
‫‪ ‬و إذا لم يجده يظهر رسالة‬
‫… ‪The name is not Exist‬‬
‫تدريب ‪ :4‬الحــــل‬
‫‪Java Code‬‬ ‫‪Pseudo Code‬‬

‫قم بإعادة التدريب مستخد ًما االسم الثنائي‬


‫في عمودين و البحث ستم عن االسم كامال‬ ‫تدريب ذاتي ‪4‬‬
‫التعامل مع المصفـوفـات‬
‫‪ ‬مستخدما المصفوفات ذات البعدين‪ ,‬قم بتخزين األرقام الزوجية من ‪ 0‬حتى ‪100‬‬
‫في العمود األول ‪ ,‬و األرقام الفردية للفترة ذاتها في العمود الثاني‪.‬‬

‫قم ببرمجة التدريب المذكور أعاله‬ ‫تدريب ذاتي ‪5‬‬


‫ما هي الدوال ؟‬
‫‪ ‬الدوال‪ :‬هي عبارة عن مجموعة متناسقة من الجمل التي تكتب سويا‬
‫من أجل إنجاز مهمة برمجية معينة و يتم التفاعل معها من خالل اسمها‬
‫و القيم التي تستخدمها (‪ )Parameters‬و القيمه التي تعيدها –إن‬
‫‪.‬‬ ‫كانت تعيد قيم‪-‬‬
‫‪ ‬هذه الدوال يتم كتابتها مرة واحدة في البرنامج ثم استدعاءها كلما دعت‬
‫الحاجة لها‪.‬‬
‫االسم‪Tax :‬‬

‫حســاب قيمة الضريبة‬ ‫النوع‪:‬‬


‫(‪floatx x= Tax‬‬
‫‪float‬‬ ‫‪= 45.34‬‬
‫)‪500‬‬ ‫لمبلغ معين‬ ‫صحيح‬

‫ال ُمرجع‪ :‬عشري‬

‫‪45.34‬‬
‫تعريف الدوال و كيفية استدعاءها‬
‫‪ ‬الدوال مثلها مثل كافة المفاهيم في البرمجة لها هيئة معينة لكتابتها و طلبها‬
‫(استدعاءها) و هي على النحو التالي‪:‬‬
‫) ‪Access Modifiers Return_Type Method_Name (Parameter_Type parameter_Variable‬‬
‫} ‪{ //body‬‬

‫صالحيات مشاهدة‬ ‫نوع القيمة التي‬ ‫اسم الدالة و تنطبق‬ ‫المتغيرات التي يتم تمريرها للدالة ويتم‬
‫الدالة و التعامل معها‬ ‫ستعيدها الدالة و‬ ‫عليه قواعد تسمية‬ ‫تعريفها من خالل كتابة نوع المتغير و اسمه‬
‫مثل‪:‬‬ ‫في حال عدم‬ ‫المتغيرات‬ ‫و نفصل بين كل متغير و اآلخر بفاصلة‬
‫‪Public, Private,‬‬ ‫إعادتها نكتب‬
‫‪Protected‬‬ ‫‪void‬‬

‫)‪public float method (int y‬‬


‫‪1‬‬
‫{‬
‫‪//body‬‬ ‫‪2‬‬
‫;‪return float‬‬
‫}‬ ‫;)‪float x = method(value‬‬
‫تدريب ‪: 1‬بنــاء الدوال و استخدمها‬
‫‪ ‬أكتب دالة لحساب الوزن المثالي ‪ ,‬علمـًا بأن الوزن المثالي يتم حسابه من‬
‫الوزن المثالي يســاوي الطول مطروحــا منــه ‪100‬‬ ‫المعادلة ‪:‬‬

‫رتب أفكــاركــ اآلن و انطلق في البنـــاء ‪...‬‬ ‫ومضــــة‬


‫تدريب ‪ :1‬الحـــل‬
‫‪Java Code‬‬ ‫‪Pseudo Code‬‬

‫قـم بكتابـة برنامـج لحسـاب مضروب‬


‫العدد ‪ n‬مسـتخد ًما مفهوم االسـتدعاء‬ ‫تدريب ذاتي ‪1‬‬
‫الذاتي‬
‫استخدام الدوال الجاهزة‬
‫‪ ‬مستخدما الدوال الجاهزة في لغة جـــافا قم بكتابة برنامج لحساب المعادلة التالية‪:‬‬

‫‪150  Y‬‬
‫‪X‬‬ ‫‪Y‬‬
‫| ‪ |Y‬‬

‫قمم ببرمجة اـلتدريب العلوي كتدريب ذاتي‪.‬‬ ‫تدريب ذاتي ‪2‬‬


‫التحميل الزـائد للدوال ‪Methods Overloading‬‬

‫‪ ‬التحميل الزائد للدوال هو كتابة أكثر من دالة لهم اسم واحد في التصنيف (‪)Class‬‬
‫الواحد مع تغيير نوع أو عدد المدخالت (‪.)Parameters‬أي أننا يمكننا التمييز‬
‫بين هذه الدوال من خالل التوقيع الخاص بها(‪.)Signature‬‬

‫) ‪public void area (int length, int width, int hight‬‬


‫} ‪{ //body‬‬
‫;)‪int x = area(5,9‬‬

‫)‪public int area (int length, int width‬‬ ‫;)(‪double y = area‬‬


‫} ‪{ //body‬‬
‫;)‪area (4,3,7‬‬
‫) ( ‪public double area‬‬
‫} ‪{ //body‬‬

‫قـم باسـتخراج خمـس دوال مـن الدوال الجاهزة فـي جافـا‬ ‫تدريب ذاتي ‪3‬‬
‫و لها تحميل زائد و قم باستخدامها و التمييز بينها‪.‬‬
‫ما الفارق بين ‪Local and Global variables‬؟‬

‫‪ ‬لغة البرمجة بها نوعان من المتغيرات يختلف مجال الوصول لهم و التفاعل معهم‪.‬‬
‫تدريب ‪: 2‬استخدام المتغيرات المحلية و العامة‬

‫‪ ‬مستخدما مفهوم الدوال ‪,‬قم بكتابة برنامج به دالة تستقبل من المستخدم خمس أرقام‬
‫و تجمعهم و كتابة دالة آخرى تقوم بحساب المعدل الحسابي لهم دون تمرير قيم‬
‫للدوال‪.‬‬

‫كل شيء كبيــر ال يحتاج منك إال إلى تقسيمه بهدوء !! لكي تنجزه‬ ‫أصبح معروفًا‬
‫تدريب ‪ :2‬الحـــل‬
‫‪Global Variable‬‬ ‫‪Java Code‬‬

‫مسـتخدما الدوال و المصـفوفات ‪ ,‬قـم بكتابـة برنامـج يسـتقبل مـن المسـتخدم‬


‫‪ 10‬أرقام يخزنهـا فـي مصـفوفة ثـم قـم بإنشاء دالـة لبحـث األكـبر و األصـغر‬ ‫تدريب ذاتي ‪4‬‬
‫و المتوسط الحسابي لهذه األعداد ‪...‬‬
‫رؤية المتغيرات و التفاعل معها‬
‫‪ ‬المتغيرات المحلية(‪ :)Local‬ال يمكن مشاهدتها إال في المكان المعرفة فيه و كذلك‬
‫التفاعل معها ال يتم إال داخل ذلك المكان‪.‬‬
‫‪ ‬المتغيرات العامة(‪ :)Global‬يتم مشاهدتها و التفاعل معها على مستوى البيئـة‬
‫المعرفة فيها (‪.)Class‬‬
‫‪ ‬في حال التعارض‪َّ :‬‬
‫فإن المتغيرات المحلية هي التي يتم التأثير فيها بينما المتغيرات‬
‫العامة تكون غير فعالة‪.‬‬

‫قم بكتابة برنامج و اختبر الحاالت الثالث التي تم شرحها ‪.‬‬ ‫تدريب ذاتي ‪4‬‬
‫‪Primitive Types &. Reference Types‬‬

‫األنــــواع‬

‫‪Reference Types‬‬ ‫‪Primitive Types‬‬

‫هـي أنواع مـن الـبيانات يتـم فيهـا التعامـل مـع‬ ‫هــي األنواع المتوفرة مــن لغــة جافــا باألصــل‬
‫عنوان الذاكرة حيــــث يتــــم تخزيــــن عنوان‬ ‫(‪ )Built-in‬مثل‪int, float, boolean :‬‬
‫الذاكرة فـي المتغيـر ثـم يتـم تمريـر هذه العنوان‬ ‫و التعامــل يكون مــع قيمهــا مــن حيــث إعطاء‬
‫للجهة الطالبة(الدالة)‪.‬‬ ‫قيمة أو تعديل أو غير ذلك ‪...‬‬
‫و هناك أنواع من هذا النوع مثل‪:‬‬
‫المصفوفات ‪ ,‬األصناف(‪)Classes‬‬
‫رؤية المتغيرات و التفاعل معها‬
‫‪ ‬المتغيرات المحلية(‪ :)Local‬ال يمكن مشاهدتها إال في المكان المعرفة فيه و كذلك‬
‫التفاعل معها ال يتم إال داخل ذلك المكان‪.‬‬
‫‪ ‬المتغيرات العامة(‪ :)Global‬يتم مشاهدتها و التفاعل معها على مستوى البيئـة‬
‫المعرفة فيها (‪.)Class‬‬
‫‪ ‬في حال التعارض‪َّ :‬‬
‫فإن المتغيرات المحلية هي التي يتم التأثير فيها بينما المتغيرات‬
‫العامة تكون غير فعالة‪.‬‬

‫قم بكتابة برنامج و اختبر الحاالت الثالث التي تم شرحها ‪.‬‬ ‫تدريب ذاتي ‪4‬‬

‫مقدمـــة لمفاهيــم البرمجـــة الشيئيــــة‬ ‫التــالي‬


‫األسبـوع القادمــ ‪...‬‬
‫امتحان تحديد مستـوى قيمتـه‬

‫‪% 10‬‬
‫من الدرجـة النهائيــة‬

You might also like