Podcast
Questions and Answers
ما هي النقطة الرئيسية التي تؤكد عليها الفقرة؟
ما هي النقطة الرئيسية التي تؤكد عليها الفقرة؟
ما هو دور التجريد (abstraction) في البرمجة؟
ما هو دور التجريد (abstraction) في البرمجة؟
ماذا تعني العبارة "تجريد" في سياق الفقرة؟
ماذا تعني العبارة "تجريد" في سياق الفقرة؟
ما هو المثال المُستخدَم في الفقرة لشرح فكرة التجريد؟
ما هو المثال المُستخدَم في الفقرة لشرح فكرة التجريد؟
Signup and view all the answers
ماذا تُشير الفقرة إلى أن المبرمج ليس مسؤولاً عنه في المثال المُستخدم؟
ماذا تُشير الفقرة إلى أن المبرمج ليس مسؤولاً عنه في المثال المُستخدم؟
Signup and view all the answers
ما الذي يُشير إليه استخدام العبارة "ولست مسؤولاً عنها" في سياق الفقرة؟
ما الذي يُشير إليه استخدام العبارة "ولست مسؤولاً عنها" في سياق الفقرة؟
Signup and view all the answers
ما الذي يتيح لغة جافا للمبرمجين؟
ما الذي يتيح لغة جافا للمبرمجين؟
Signup and view all the answers
ما هو هدف استخدام التجريد في البرمجة؟
ما هو هدف استخدام التجريد في البرمجة؟
Signup and view all the answers
ماذا تعني كلمة class في سياق البرمجة الموجهة للكائنات؟
ماذا تعني كلمة class في سياق البرمجة الموجهة للكائنات؟
Signup and view all the answers
كيف يمكنك الوصول إلى الأعضاء داخل كائن معين؟
كيف يمكنك الوصول إلى الأعضاء داخل كائن معين؟
Signup and view all the answers
لماذا لا يمكن إنشاء كائنات من الكلاسات من نوع abstract؟
لماذا لا يمكن إنشاء كائنات من الكلاسات من نوع abstract؟
Signup and view all the answers
أي من الخيارات التالية هو اسم صحيح لكائن؟
أي من الخيارات التالية هو اسم صحيح لكائن؟
Signup and view all the answers
ما هو دور العضو x في تعريف الكلاس A؟
ما هو دور العضو x في تعريف الكلاس A؟
Signup and view all the answers
ماذا يحدث إذا حاولت إنشاء كائن من كلاس من نوع abstract؟
ماذا يحدث إذا حاولت إنشاء كائن من كلاس من نوع abstract؟
Signup and view all the answers
ماذا تمثل الدالة print() في الكلاس A؟
ماذا تمثل الدالة print() في الكلاس A؟
Signup and view all the answers
أي من العبارات التالية صحيحة بخصوص الأعضاء في الكلاسات؟
أي من العبارات التالية صحيحة بخصوص الأعضاء في الكلاسات؟
Signup and view all the answers
ما هو الاستخدام الرئيسي من التعريف class؟
ما هو الاستخدام الرئيسي من التعريف class؟
Signup and view all the answers
ما هو هدف استخدام الكلاسات في البرمجة الموجهة للكائنات؟
ما هو هدف استخدام الكلاسات في البرمجة الموجهة للكائنات؟
Signup and view all the answers
ما هو الفرق الرئيسي بين البرمجة الموجهة للكائنات (OOP) والبرمجة التقليدية؟
ما هو الفرق الرئيسي بين البرمجة الموجهة للكائنات (OOP) والبرمجة التقليدية؟
Signup and view all the answers
ما هو مفهوم class
في البرمجة الموجهة للكائنات؟
ما هو مفهوم class
في البرمجة الموجهة للكائنات؟
Signup and view all the answers
ما هي properties
في سياق البرمجة الموجهة للكائنات؟
ما هي properties
في سياق البرمجة الموجهة للكائنات؟
Signup and view all the answers
ما هي methods
في سياق البرمجة الموجهة للكائنات؟
ما هي methods
في سياق البرمجة الموجهة للكائنات؟
Signup and view all the answers
أي من الخيارات التالية ھﻲ ﻣزاﯾﺎ ﻟﻠﺒﺮﻣﺠﺔ ﺑﻮاﺳﻄﺔ اﻷھﺪاف؟
أي من الخيارات التالية ھﻲ ﻣزاﯾﺎ ﻟﻠﺒﺮﻣﺠﺔ ﺑﻮاﺳﻄﺔ اﻷھﺪاف؟
Signup and view all the answers
ما هو العيب الرئيسي للبرمجة التقليدية؟
ما هو العيب الرئيسي للبرمجة التقليدية؟
Signup and view all the answers
ما هو مفهوم object
في البرمجة الموجهة للكائنات؟
ما هو مفهوم object
في البرمجة الموجهة للكائنات؟
Signup and view all the answers
ما هي العلاقة بين object
و class
في البرمجة الموجهة للكائنات؟
ما هي العلاقة بين object
و class
في البرمجة الموجهة للكائنات؟
Signup and view all the answers
أي من الخيارات التالية ھﻲ ﻣن اﻟﻤﻔﺎھﯾم اﻷﺳﺎﺳﯾﺔ ﻟﻠﺒﺮﻣﺠﺔ ﺑﻮاﺳﻄﺔ اﻷھﺪاف ؟
أي من الخيارات التالية ھﻲ ﻣن اﻟﻤﻔﺎھﯾم اﻷﺳﺎﺳﯾﺔ ﻟﻠﺒﺮﻣﺠﺔ ﺑﻮاﺳﻄﺔ اﻷھﺪاف ؟
Signup and view all the answers
ما هو مفهوم التغليف (Encapsulation) في البرمجة الموجهة للكائنات؟
ما هو مفهوم التغليف (Encapsulation) في البرمجة الموجهة للكائنات؟
Signup and view all the answers
ما هو مفهوم التجريد (Abstraction) في البرمجة الموجهة للكائنات؟
ما هو مفهوم التجريد (Abstraction) في البرمجة الموجهة للكائنات؟
Signup and view all the answers
ما هو مفهوم وراثة الكلاس (Inheritance) في البرمجة الموجهة للكائنات؟
ما هو مفهوم وراثة الكلاس (Inheritance) في البرمجة الموجهة للكائنات؟
Signup and view all the answers
ما هو مميز OOP
مقارنة بالبرمجة التقليدية؟
ما هو مميز OOP
مقارنة بالبرمجة التقليدية؟
Signup and view all the answers
كم عدد الأسماء التي يمكن أن تحتوي عليها الفئة (class) في لغة البرمجة؟
كم عدد الأسماء التي يمكن أن تحتوي عليها الفئة (class) في لغة البرمجة؟
Signup and view all the answers
ما هو استخدام methods
في سياق البرمجة الموجهة للكائنات؟
ما هو استخدام methods
في سياق البرمجة الموجهة للكائنات؟
Signup and view all the answers
Study Notes
مُقدمة عن البرمجة المُوجهة للكائنات
- تُعدّ البرمجة المُوجهة للكائنات أسلوباً حديثاً في البرمجة، حيث تُعتبر وحدة بناء البرنامج هي الصنف (class) الذي يحوي البيانات (data) والعمليات (الدوال) (functions).
- تشتق فكرة البرمجة المُوجهة للكائنات (OOP) من فكرة استخدام الكائن (Object) كوحدة برمجة أساسية.
- في المقابل، كانت الطريقة التقليدية في البرمجة تعتمد على الدوال والأوامر، مما يُجبر المبرمج على إعادة كتابة الأوامر كل مرة لتحقيق فكرة معينة.
- تُعد البرمجة المُوجهة للكائنات أكثر فاعلية وسرعة من البرمجة التقليدية نظراً لتركيزها على الوحدات الكبيرة (الكائنات) بدلاً من الوحدات الصغيرة (الدوال).
الدرس الأول: معنى البرمجة الشيئية (OOP)
- البرمجة المُوجهة للكائنات هي أسلوب جديد من أساليب البرمجة يركز على الكائنات (Objects) كأحد وحدات البناء الأساسية.
- تُركز على تقسيم البرنامج إلى مجموعة من المهام الرئيسية، ثم تقسيم كل مهمة رئيسية إلى مهام فرعية، حسب مستوى التعقيد، مما يجعلها أكثر تنظيماً وسهولة في الصيانة و إعادة استخدامها.
- تنتهج البرمجة الهيكلية نهج من أعلى إلى أسفل (Top-Down).
- تُعد البرمجة الهيكلية ذات عيوب مثل صعوبة فصل البيانات عن العمليات، وإعادة إنشاء الحلول وإعادة استخدامها.
المفاهيم الأساسية للبرمجة المُوجهة للكائنات
- الفصيلة (Class): تُعد الفصيلة أساس البرمجة المُوجهة للكائنات، و تُستوحى من الواقع، حيث كل عنصر في الحياة مُمثّل بفصيلة (مثل السيارات أو الطيور).
- تُمثّل الفصيلة (class) عنصرين أساسيّين: البيانات (data) والدوال (methods).
- الكائن (Object): وحدة تحوي مجموعة من البيانات (الخصائص) (properties) و العمليات (الأساليب) (methods).
- الكائنات ذات الخصائص والعمليات المشتركة يمكن تجميعها في صنف واحد.
مزايا البرمجة الشيئية (OOP)
- التجريد (Abstraction): تسهل كتابة الأوامر وتحدد الخصائص والعمليات المتعلقة بصنف معيّن.
- إخفاء البيانات (Data Hiding): يحمي البيانات الأساسية في الكلاس، ويُتاح التعامل معها من خلال دوال مُخصصة.
- التغليف (Encapsulation): تجميع الخصائص (properties) والطرق (methods) في وحدة واحدة، و يُمكن الوصول إليها من خلال الكائن أو الكلاسات المُتّصلة به.
- الوراثة (Inheritance): يورث الصنف الخصائص والعمليات الموجودة في الصنف الآخر.
- التعددية الأشكال (Polymorphism): نفس الدالة يمكن أن تتعرف بطرق مُختلفة في أصناف مُختلفة.
البرامج التي تدعم البرمجة الشيئية
- VB.NET و C# و Java و C++
المُتغيرات ( Variables )
- المتغيرات المحلية (Local Variables): مُعرّفة داخل دالة.
- المتغيرات العائدة للكائن (Instance Variables): مُعرّفة داخل الصنف (class) وخارج أي دالة.
- المتغيرات العائدة للصنف (Class Variables): مُعرّفة داخل الصنف (class) و مُسبقة بكلمة static.
الكلمة this
- تستخدم هذه الكلمة لتمييز متغيرات عائدة للصنف من متغيرات عائدة للدوال المحليّة.
- مُفيدة عند تعريف كونستركتور يملك نفس إسم المتغير العائد للکائن (Instance Variables)
الكلمة super
- تستخدم لتمييز متغيرات عائدة للصنف الأب (Superclass) من متغيرات عائدة للصنف (Subclass).
- تستخدم أيضاً لإستدعاء كونستركتور الصنف الأب.
المُعدّلات المُوصوفة (Modifiers)
- Modifiers للوصول (Access Modifiers): تُحدد مستوى الوصول إلى المتغيرات والدوال والکلاسات مثل (public, protected, private).
- Modifiers غير مُخصصة للوصول (Non-Access Modifiers): تحدد خصائص أخرى للمتغيرات والدوال والکلاسات مثل (static, final, abstract, synchronized.).
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
تقدم هذه المقدمة لمحة عن البرمجة المُوجهة للكائنات، حيث تعتبر الكائنات الأداة الأساسية لبناء البرامج. يتم تقسيم البرنامج إلى مهام رئيسية وفرعية، مما يجعل الصيانة وإعادة الاستخدام أسهل. هذه الطريقة تعد أكثر فعالية وسرعة مقارنة بالبرمجة التقليدية.