ايه هي OOPوايه هي المبادئ األساسية لها؟ -
✓ وهي طريقة في البرمجة Object Oriented Programmingبتخلي الكود اللي انا بكتبه سهل االستخدام وأقدر استخدمه اكتر من مرة بدون تكرار للكود. ✓ مبادئها: ▪ Encapsulation ▪ Inheritance ▪ Polymorphism ▪ Abstraction ايه هي ال Encapsulation؟ - ✓ هو عبارة عن أسلوب يمكن اتباعه إلخفاء البيانات األساسية في الكالس ،أي إلخفاء الخصائص الموجودة فيه وجعل الكالسات األخرى قادرة على التعامل مع هذه الخصائص فقط من خالل دوال يقوم بإنشائها المبرمج األساسي للكالس. ايه هي ال Inheritance؟ - ً ✓ هي عملية إنشاء كالس جديد بنائا على كالس سابق ،فتمكننا من إعادة استخدام أكواد مكتوبة سابقاً ،وتعديل بعضها أو إضافة خصائص جديدة بدل من إعادة كتابتها كل مرة ،وتسمى الفئة Classالتي نرث منها باألب Parentوالتي نُورِّ ُ ث إليها باالبن .Son ايه هي ال Polymorphism؟ - ✓ تعني أن الكائن يمكن أن يتخذ أكثر من شكل ،والفكرة ببساطة أن مجموعة كائنات ترث خصائصها من أب واحد ،لكن كل منهم يقوم بتعديل هذه الخصائص لـ تقوم بأمر مختلف. ايه هي ال Abstraction؟ - ✓ هو أسلوب يستخدم إلخفاء تفاصيل تنفيذ البرنامج ويستخدم لتسهيل كتابة األوامر وتنفيذ ما تريد دون الحاجة إلى معرفة كافة التفاصيل إذاً يجعلك تتعامل مع األشياء بسطحية. ما الفرق بين OverloadingوOverriding؟ - ✓ Overloadingتعني تعريف أكثر من دالة أو كونستركتور لهم نفس االسم ولكن مختلفون في عدد أو نوع البارامترات أي تجهيز عدة دوال لهم نفس االسم وهذه الدوال تكون متشابهة من حيث الوظيفة ولكن مختلفة قليال ً في األداء. ✓ Overridingتعني تعريف الدالة التي ورثها الـ Subclassمن الـ Superclassمن جديد حيث تكون مشابهة للدالة الموروثة حيث لها نفس االسم و النوع و عدد البارامترات لكن محتواها مختلف بهدف إتاحة الفرصة للـ Subclassليعرف الدوال حسب حاجته. يعني ايه Constructorوايه هي انواعه؟ - ✓ هو عبارة عن دالة لها نوع خاص ،يتم استدعائها أثناء إنشاء كائن لتوليد قيم أولية للخصائص الموجودة فيه أي أنه ال يمكن إنشاء كائن من كالس إال من خالل .Constructor ✓ انواعه: ▪ :Parameterized constructorsبداخله متغير أو أكثر. ▪ :Parameterless constructorsيقوم بإنشائه المترجم من تلقاء نفسه. هل ينفع يكون عندي اكتر من Constructor؟ - ✓ نعم يمكن انشاء أكثر من واحد. هل ينفع يكون Constructorنوعه synchronized & final & abstract & Static؟ - ✓ ال ال يسمح ان final or synchronized، abstract،static هل ينفع يكون Constructorنوعه Private؟ - ✓ ايوه ينفع بس وقتها مش هنقدر نعمل كائن من الكالس دا. ما هو ال copy constructor؟ - ✓ يستخدم إلنشاء كائن جديد باستخدام كائن قديم ويبقي نسخة من القديم. ما الفرق بين constructorوmethods؟ - ✓ constructorيستخدم لتهيئة ال objectوال يرجع أي قيم ✓ Methodsفتقوم بوصف المتغيرات وترجع قيم. ما هو ال Destructor؟ - ✓ هو دالة في كالس تقوم بتعطيل الذاكرة المخصصة ألحد الكائنات (تدمير الكائنات) يتم ً مسبوقا برمز (~). تعريفه بنفس االسم مثل اسم الكالس، ما الفرق بين ال constructorوال destructor؟ - Destructor Constructor ✓ تدمير أماكن الكائنات في الذاكرة. ✓ توليد الكائنات في الذاكرة. ✓ ال يستخدم معامالت. ✓ يستخدم معامالت. ✓ يحتوي الكالس على واحد فقط. ✓ يحتوي الكالس على واحد او أكثر. يعني ايه Interface؟ - ✓ هي عبارة عن اتفاقية ما بين مبرمجه وما بين المبرمج اللي هيستخدم الInterface واالتفاقية بتقول انه لو عاوز يستخدم الـ Functionsاللي في الـ Interfaceالزم يكتب بيديه الكود بتاع الـ Functionsدي. ايه الفرق بين ال interfaceوclass abstract؟ - ✓ الدوال في interfaceمجردة كليًا Full abstractال تحوي أي implementationأي أنها ال تقوم بتنفيذ شيء حتى يرثها الصف االبن ويقوم بعمل .override ✓ في حين abstract classيمكن أن يحوي على دوال تقوم بتنفيذ سلوك افتراضي ثم ضا بعملية .override يأتي الصف االبن إما أن ينفذ هذا السلوك نفسه أو سلوك آخر أي ً ما هو ال abstract class؟ - ✓ هو الكالس الذي يحتوي على كلمة abstractفي تعريفه او يحتوي على دوال تم تعريفها ك Abstract methodفيصبح هو ايضا abstract classوال يمكن انشاء objects منه وانما يتم توريثه لكالس آخر ،واعادة تعريف كل ال .abstract methods يعني ايه Abstract method؟ - ✓ هي Methodمجردة من أي implementationوتكون في Abstract Classوالزم اكتب الكود بتاعها بإيدى فى أي Classهيورث منه. يعني ايه diamond problemوايه حلها؟ - ✓ مشكله ناتجة عند التوريث المتعدد فاذا كان لدينا ) )A class & B class & C classحيث ان Cيرث من A ،Bيرث من Cفاذا أراد الكالس Aان يرث من Bأيضا فتنتج المشكلة وهي تكرار األوامر حيث ان Cيحتوي على أوامر Bألنه يرث منه وعندما ورث Aمن C فهو قد ورث أوامر Bبشكل غير مباشر فعدما يطلب Aالوراثة من Bيحدث تكرار لألوامر. ✓ لحل المشكلة ابتكار المطورون نوع جديد يشبه الكالس العادي ويسمح لنا بتطبيق مبدأ تعدد الوراثة الذي يعتبر شيء مهم جداً في لغات البرمجة وهذا النوع الجديد يسمى .interface -الفرق بين reference typeوtypes value؟ Types Value Reference Type ✓ يتم تخزينها في الذاكرة في .Stack ✓ يتم تخزينها في الذاكرة في ال .Hub ✓ سعة التخزين محددة في اللغة. ✓ سعة التخزين يحددها المبرمج. ✓ مثل.Int & string & double : ✓ مثلClass & interface & Array : هل ال destructorليس له overload؟ - ✓ نعم ألنه ال يأخذ .parameters ما هي ال friend function؟ - ✓ مفهوم موجود فقط في لغة c++ألنه يعتبر مفهوم خاطئ حيث يتم تعريف الدالة خارج الكالس وهذا ليس صحيح حيث انه ينتهك مفهوم التغليف. ايه هما ال access modifiers؟ - ✓ هو عبارة عن Keywordتوضع قبل ال Methodأو Objectأو Constructorلتعريف مستوى الوصول ،حيث تسمح لك بتطبيق مبدأ الـ ،Encapsulationوالجدول التالي يحتوي على ال .Access Modifiers public الكالس أو الدالة أو المتغير المعرف كـ publicيمكن الوصول إليه مباشر ًة. - الدالة أو المتغير المعرف كـ protectedيمكن الوصول إليه فقط من الكالسات protected - الموجودة في نفس الـ packageأو من الكالسات التي ترث منه. private هو اعلي مستوى من الحماية حيث ان المتغيرات والدوال المعرفة كـ - privateيمكن الوصول لها فقط من داخل الكالس الذي المعرفة فيه. internal الدالة أو المتغير المعرف كـ internalيمكن الوصول إليه فقط من الكالسات - الموجودة في نفس الـ packageفقط. ما هو ال Namespace؟ - ✓ عبارة عن Keywordتستخدم لتعريف Scopeهذا ال Scopeهو حاوي Containerل Classاو مجموعه من ال .Classes ايه الفرق بين protectedوinternal؟ - ✓ Protectedيمكن الوصول إليه فقط من الكالسات الموجودة في نفس الـ packageأو من الكالسات التي ترث منه. ✓ Internalيمكن الوصول إليه فقط من الكالسات الموجودة في نفس الـ packageفقط. قم بكتابة كود عبارة عن functionبترجع primary number؟ - ▪ ;import java.util.Scanner ▪ { public class PrimeExample3 ▪ { )public static void main(String[] args ▪ ;)Scanner s = new Scanner(System.in ▪ ;)" System.out.print("Enter a number : ▪ ;)(int n = s.nextInt ▪ { ))if (isPrime(n ▪ ;)"System.out.println(n + " is a prime number ▪ { } else ▪ ;)"System.out.println(n + " is not a prime number ▪ } ▪ } ▪ { )public static boolean isPrime(int n ▪ { )if (n <= 1 ▪ ;return false ▪ } ▪ { )for (int i = 2; i < Math.sqrt(n); i++ ▪ { )if (n % i == 0 ▪ ;return false ▪ } ▪ } ▪ ;return true ▪ } ▪ } اذكر 3 objectsو 3classفي الغرفة دي؟ - ✓ الكرسي كائن من كالس كرسي. ✓ الترابيزة كائن من كالس ترابيزة. ✓ الباب كائن من كالس باب. ايه الفرق بين constوstatic؟ - ✓ Staticيستخدم للمتغيرات او الدوال اللي استدعاؤه باسم الكالس وبدوء انشاء كائن. ✓ Constيستخدم مع المتغيرات المعروف قيمتها ولن تتغير مثل سرعه الضوء. ايه الفرق بين extendوimplementation؟ - ✓ Extendهو التوريث في لغة الجافا اما implementationهو التنفيذ ويستخدم عندما ينفذ classأوامر interfaceاو اكثر. ما هو Enumerator؟ - ✓ هو مجموعة من القيم الثابتة المرتبطة ببعضها. إيه الفرق بين getterوsetter؟ - ✓ ال Setterهي دالة تكون voidولها بارامتر وتستخدم إلستقبال المعلومات. ✓ ال Getterيكون لها return typeوتستخدم للحصول على المعلومات. ما الفرق بين ال objectوال class؟ - ✓ :Classالفئة هي عبارة عن نموذج أو وصف للكائن (.)blueprint ✓ :Objectالكائن هو عبارة عن نسخة من هذه الفئة (.)instance ما هو ال pure virtual function؟ - ✓ هي دالة تستخدم في الكالس االب فقط مثل .overriding ما هو ال static membersاو Static method؟ - ✓ هي ال Methodsاو ال Attributesبقدر انادى عليها من اسم ال .Class اذكر كيفية استدعاء Static method؟ - ✓ بكتابة اسم الكالس ثم ( ).ثم اسم الدالة مثل()ClassName.methodName ما هو الفرق بين delegateوEvent؟ - ً ✓ Eventهو الحاجة اللي ال Userبيعملها وبناءا عليها ببقى عاوز انفذ كود ،زي لو ال Userداس على زر فى ال Keyboardده يسمى .Event ✓ Delegateبتربط ال Functionاللي انا عاوزها تتنفذ بال Eventاللي عاوزها تتنفذ فيه. ما المقصود ب Applet؟ - ✓ هو برنامج مكتوب بصورة معينة بلغة ال javaتجعله قابل للتضمين داخل صفحة .HTML