ل محاضرة : 1مقدمة لمساق و مراجعة للاساسيات
اعداد :ا .فاطمة عويدات خليقة.
2018– 2017
✓ ما هي الدوال Methods؟ ✓ ما هي البرمجـــة الشيئيـــة و لماذا ؟ ✓ المفاهيم األساسيـة للبرمجـة الشيئيـة
✓ لماذا البرمجـة الشيئيـة؟ ✓ ما الفارق بينها و بين أساليب البرمجة األخرى؟
ما هي البرمجة الشيئية ؟ ✓ لكي نجيب على هذا السؤال ،ننظر في الغرفة التي نجلس فيها اآلن و نسجل ما نرى ؟ عدد األرجل المادة اللون الحجم الغرض . .
كراسي طاوالت طالب شبابيك . .
✓ في البرمجة الشيئية نحاول برمجة التطبيقات بهذه العين التي تنظر للواقع بمفهوم أنه مكون من أشياء و كل شيء له صفات يتصف بها و له وظائف يقوم بها أو طرق يتم من خاللها التعامل معه.
ما هي البرمجة الشيئية ؟ ✓ هناك أربعة مفاهيم أساسية يتم من خاللها الوصول لمفهوم البرمجة الشيئية و هي موضحة بالرسم التالي:
مفهـــوم التغليـف Encapsulation ✓ التغليف Encapsulationهو عملية وضع الخصائص) (attributesو العمليات ضمن وحدة واحدة )( Classفيتم اخفاء البيانات و الدوال و يُسمح بالوصول لهم بصالحيات معينة. ✓ و لذلك يسمى هذا المفهوم أيضـًا اخفاء البيانات )(Data Hiding
سحب جزء من الحساب قيمة الحساب العنوان
تغيير قيمة العنوان االسم
مفهــــوم التجريــد Abstraction ✓ شاهد معي هذه الصور: التعقيد الذي تشاهده اآلن في صورة اإلنســـان ,ال يتم التعرض له إطالقا و لكن يتم التعامل معه كإنسان له حركات و وظائف و صفات ظاهره فقط و كذلك األمر للفيل و السيارة
؟
؟ عملية التجريـد تعمل على إخفاء التعقيد الناتج عن كيفية عمل هذه الكائنات ,فأنت ترى السيارة تسير دون أن ترى طريقة عمل المحركات و الموتور.
مفهــــوم التجريــد Abstraction ✓ مفهــوم التجريــد :Abstractionهو عملة اخفــاء طريقة تطبيق العمل داخل الـ , Classفأنت تعلم أن السيارة تسير و لكنك ال ترى كيف تنتج هذه الحركة. ✓ فمثــال :عند النظر للسيارة ننتبـه فقط لـكونها سيــارة و إذا دققنا النظر ننتبه لـ : ▪ اللون ▪ الشكل ▪ عدد األبواب ✓ و لكن ال يلفت انتباهنا كيفية سيرها و طريقة وصول الوقود للمحركات و طريقة توقفها فهذا التعقيد كله ال نتعامل معه في حياتنا و بالتالي البرمجة الشيئية تتمتع بهذه الميزة من خالل مفهوم Abstraction
مفهــــوم التوارث Inheritance ✓ مفهــوم التوراث هو مفهوم مشتق من علم الوراثة الموجود في الكائنات الحية ، حيث أن االبن يرث صفات و مهارات معينة من أبويه و يظهر فيه صفات و مهارات أخري ،و هذا األمر متوفر في البرمجة الشيئية مع بعض التغيير. طالب
مدرسي
ثانوي
إعدادي
جامعي
ابتدائي
دبلوم
بكالوريوس
مفهــــوم تعدد األشكــال Polymorphism ✓ مفهــوم تعدد األشكال Polymorphismهو قدرة المبرمج من خالل لغات البرمجة التي تدعم الشيئية أن يُنتج عدد من الدوال التي يتم تطبيقها بشكل مختلف و ذلك لمحاكاة الواقع حيث أننا نقوم بحساب مساحة األشكال الهندسية و لكن كل مساحة يتم حسابها بشكل مختلف.
Polymorphism مفهوم مثـــال
لمـاذا البرمجـــة الشيئـيــــة ؟! .1من خاللها نحصل على مفهوم Modularizationو هو يعني تجزئة المشكلة الكبيرة إلى مشاكل صغيرة يمكن حلها بشكل منفصل.
مجموعـة من اإلجراءات و الدوال الموجودة داخل أصناف Class
تطبيــق متكامل
لمـاذا البرمجـــة الشيئـيــــة ؟! .2من خاللها نحصل على مفهوم Abstractionو هو يعني التعامل مع األشياء من حولنا باختصار لتسهيل عملية فهم الواقع و تحويله لعالم البرمجة دون الدخول في سؤال كيف حصل ذلك.
كل جزء من المشكلة له تفاصيل دقيقة يتم التعامل معا الحقا
نظرة عامة على المشكلة و وحداتها
لمـاذا البرمجـــة الشيئـيــــة. .3من خاللها نحصل على مفهوم Encapsulation .4من خاللها نحصل على مفهوم التركيب Composabilityو من خالله نتمكن من استخدام األدوات التي تم بناءها سابقـًا في انتاج تطبيقات جديدة مختلفة من خالل اعادة تركيبها و تشكيلها.
تدريب ذاتي 6
قم بالبحث عن المزيد من مزايا البرمجة الشيئية مع توضيحها بالرسم أو الشــرح.
ما الفارق بينها و بين أساليب البرمجة األخرى؟ ✓ هناك من أساليب البرمجة ثالث يمكننا التركيز عليها و هي: .1 .2 .3
البرمجة الخطيــــة :تعتمد على برمجة كافة األهداف في أسطر متتالية و عند الحاجة لتكرار أي أمر فإنه يتوجب علينا إعادة كتابته. البرمجة اإلجرائيــة :تعتمد على كتابة الدوال و اإلجراءات و عند الحاجة إليها يتم استدعاءها و االستفادة منها. البرمجة الشيئيــة :تعتمد على ترجمة األشياء من الواقع لعالم البرمجة و سيتم استيضاحها في هذا الفصل.