0% found this document useful (0 votes)
226 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)
226 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
You are on page 1/ 45

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

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

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

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

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

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

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

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

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

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


‫من هو مدرس المســـاق ؟‬
‫‪ ‬االسم‪ :‬محمود رفيــق الفــرَّا‬
‫‪ ‬شهاداتي‪:‬‬
‫ماجستيـــر علوم حاسوب ‪ ,‬األكاديمية العربية للعلوم و التكنولوجيا و النقل البحري‪ -‬األسكندرية‪ ,‬موضوع الرسالة ‪:‬‬ ‫‪‬‬
‫‪ , 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