Podcast
Questions and Answers
ما هي النقطة الرئيسية التي تؤكد عليها الفقرة؟
ما هي النقطة الرئيسية التي تؤكد عليها الفقرة؟
- وصف كيفية عمل البريد الإلكتروني في جافا
- وصف فوائد البرمجة باستخدام لغة جافا
- شرح مفهوم التجريد في البرمجة (correct)
- وصف أهمية استخدام البروتوكولات في البرمجة
ما هو دور التجريد (abstraction) في البرمجة؟
ما هو دور التجريد (abstraction) في البرمجة؟
- زيادة تعقيد الكود
- زيادة الوقت اللازم لكتابة الكود
- جعل الكود أكثر صعوبة في الفهم
- جعل الكود أكثر قابلية للإعادة (correct)
ماذا تعني العبارة "تجريد" في سياق الفقرة؟
ماذا تعني العبارة "تجريد" في سياق الفقرة؟
- التحكم المباشر في أدق تفاصيل البرامج
- فهم كود البرنامج بالكامل
- زيادة سرعة تنفيذ البرامج
- إخفاء تفاصيل معقدة عن المبرمج (correct)
ما هو المثال المُستخدَم في الفقرة لشرح فكرة التجريد؟
ما هو المثال المُستخدَم في الفقرة لشرح فكرة التجريد؟
ماذا تُشير الفقرة إلى أن المبرمج ليس مسؤولاً عنه في المثال المُستخدم؟
ماذا تُشير الفقرة إلى أن المبرمج ليس مسؤولاً عنه في المثال المُستخدم؟
ما الذي يُشير إليه استخدام العبارة "ولست مسؤولاً عنها" في سياق الفقرة؟
ما الذي يُشير إليه استخدام العبارة "ولست مسؤولاً عنها" في سياق الفقرة؟
ما الذي يتيح لغة جافا للمبرمجين؟
ما الذي يتيح لغة جافا للمبرمجين؟
ما هو هدف استخدام التجريد في البرمجة؟
ما هو هدف استخدام التجريد في البرمجة؟
ماذا تعني كلمة class في سياق البرمجة الموجهة للكائنات؟
ماذا تعني كلمة class في سياق البرمجة الموجهة للكائنات؟
كيف يمكنك الوصول إلى الأعضاء داخل كائن معين؟
كيف يمكنك الوصول إلى الأعضاء داخل كائن معين؟
لماذا لا يمكن إنشاء كائنات من الكلاسات من نوع abstract؟
لماذا لا يمكن إنشاء كائنات من الكلاسات من نوع abstract؟
أي من الخيارات التالية هو اسم صحيح لكائن؟
أي من الخيارات التالية هو اسم صحيح لكائن؟
ما هو دور العضو x في تعريف الكلاس A؟
ما هو دور العضو x في تعريف الكلاس A؟
ماذا يحدث إذا حاولت إنشاء كائن من كلاس من نوع abstract؟
ماذا يحدث إذا حاولت إنشاء كائن من كلاس من نوع abstract؟
ماذا تمثل الدالة print() في الكلاس A؟
ماذا تمثل الدالة print() في الكلاس A؟
أي من العبارات التالية صحيحة بخصوص الأعضاء في الكلاسات؟
أي من العبارات التالية صحيحة بخصوص الأعضاء في الكلاسات؟
ما هو الاستخدام الرئيسي من التعريف class؟
ما هو الاستخدام الرئيسي من التعريف class؟
ما هو هدف استخدام الكلاسات في البرمجة الموجهة للكائنات؟
ما هو هدف استخدام الكلاسات في البرمجة الموجهة للكائنات؟
ما هو الفرق الرئيسي بين البرمجة الموجهة للكائنات (OOP) والبرمجة التقليدية؟
ما هو الفرق الرئيسي بين البرمجة الموجهة للكائنات (OOP) والبرمجة التقليدية؟
ما هو مفهوم class
في البرمجة الموجهة للكائنات؟
ما هو مفهوم class
في البرمجة الموجهة للكائنات؟
ما هي properties
في سياق البرمجة الموجهة للكائنات؟
ما هي properties
في سياق البرمجة الموجهة للكائنات؟
ما هي methods
في سياق البرمجة الموجهة للكائنات؟
ما هي methods
في سياق البرمجة الموجهة للكائنات؟
أي من الخيارات التالية ھﻲ ﻣزاﯾﺎ ﻟﻠﺒﺮﻣﺠﺔ ﺑﻮاﺳﻄﺔ اﻷھﺪاف؟
أي من الخيارات التالية ھﻲ ﻣزاﯾﺎ ﻟﻠﺒﺮﻣﺠﺔ ﺑﻮاﺳﻄﺔ اﻷھﺪاف؟
ما هو العيب الرئيسي للبرمجة التقليدية؟
ما هو العيب الرئيسي للبرمجة التقليدية؟
ما هو مفهوم object
في البرمجة الموجهة للكائنات؟
ما هو مفهوم object
في البرمجة الموجهة للكائنات؟
ما هي العلاقة بين object
و class
في البرمجة الموجهة للكائنات؟
ما هي العلاقة بين object
و class
في البرمجة الموجهة للكائنات؟
أي من الخيارات التالية ھﻲ ﻣن اﻟﻤﻔﺎھﯾم اﻷﺳﺎﺳﯾﺔ ﻟﻠﺒﺮﻣﺠﺔ ﺑﻮاﺳﻄﺔ اﻷھﺪاف ؟
أي من الخيارات التالية ھﻲ ﻣن اﻟﻤﻔﺎھﯾم اﻷﺳﺎﺳﯾﺔ ﻟﻠﺒﺮﻣﺠﺔ ﺑﻮاﺳﻄﺔ اﻷھﺪاف ؟
ما هو مفهوم التغليف (Encapsulation) في البرمجة الموجهة للكائنات؟
ما هو مفهوم التغليف (Encapsulation) في البرمجة الموجهة للكائنات؟
ما هو مفهوم التجريد (Abstraction) في البرمجة الموجهة للكائنات؟
ما هو مفهوم التجريد (Abstraction) في البرمجة الموجهة للكائنات؟
ما هو مفهوم وراثة الكلاس (Inheritance) في البرمجة الموجهة للكائنات؟
ما هو مفهوم وراثة الكلاس (Inheritance) في البرمجة الموجهة للكائنات؟
ما هو مميز OOP
مقارنة بالبرمجة التقليدية؟
ما هو مميز OOP
مقارنة بالبرمجة التقليدية؟
كم عدد الأسماء التي يمكن أن تحتوي عليها الفئة (class) في لغة البرمجة؟
كم عدد الأسماء التي يمكن أن تحتوي عليها الفئة (class) في لغة البرمجة؟
ما هو استخدام methods
في سياق البرمجة الموجهة للكائنات؟
ما هو استخدام methods
في سياق البرمجة الموجهة للكائنات؟
Flashcards
التجريد (Abstraction)
التجريد (Abstraction)
عملية تحديد الخصائص والعمليات التي تنتمي لصنف معين.
هدف التجريد
هدف التجريد
يجعل المبرمجين يتعاملون مع الأشياء ببساطة.
مثال على التجريد
مثال على التجريد
بناء برنامج يسمح بإرسال اقتراحات عبر البريد الإلكتروني.
خصائص الصنف
خصائص الصنف
Signup and view all the flashcards
وظيفة التجريد
وظيفة التجريد
Signup and view all the flashcards
العمليات في التجريد
العمليات في التجريد
Signup and view all the flashcards
التطبيقات الشائعة للتجريد
التطبيقات الشائعة للتجريد
Signup and view all the flashcards
أهمية التجريد
أهمية التجريد
Signup and view all the flashcards
دالة الأعضاء
دالة الأعضاء
Signup and view all the flashcards
تعريف الكائنات
تعريف الكائنات
Signup and view all the flashcards
كلمة محجوزة class
كلمة محجوزة class
Signup and view all the flashcards
مثال على تعريف كلاس
مثال على تعريف كلاس
Signup and view all the flashcards
كائن object
كائن object
Signup and view all the flashcards
استدعاء أعضاء الكلاس
استدعاء أعضاء الكلاس
Signup and view all the flashcards
كلاس abstract
كلاس abstract
Signup and view all the flashcards
الوظيفة print()
الوظيفة print()
Signup and view all the flashcards
تجربة كود في Main
تجربة كود في Main
Signup and view all the flashcards
منع إنشاء كائن من abstract
منع إنشاء كائن من abstract
Signup and view all the flashcards
البرمجة الشيئية
البرمجة الشيئية
Signup and view all the flashcards
الفئة (Class)
الفئة (Class)
Signup and view all the flashcards
الكائن (Object)
الكائن (Object)
Signup and view all the flashcards
الخصائص (Properties)
الخصائص (Properties)
Signup and view all the flashcards
العمليات (Methods)
العمليات (Methods)
Signup and view all the flashcards
التوارث (Inheritance)
التوارث (Inheritance)
Signup and view all the flashcards
التعدد (Polymorphism)
التعدد (Polymorphism)
Signup and view all the flashcards
الارتباط (Encapsulation)
الارتباط (Encapsulation)
Signup and view all the flashcards
البرمجة الهيكلية
البرمجة الهيكلية
Signup and view all the flashcards
فصل البيانات عن العمليات
فصل البيانات عن العمليات
Signup and view all the flashcards
الهدف (Goal)
الهدف (Goal)
Signup and view all the flashcards
استخدام الفئات
استخدام الفئات
Signup and view all the flashcards
مزايا البرمجة الشيئية
مزايا البرمجة الشيئية
Signup and view all the flashcards
الأدوات الأساسية
الأدوات الأساسية
Signup and view all the flashcards
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.