التمرين الأول: إدارة الحسابات البنكية
الوصف:
اكتب كلاس باسم BankAccount يحتوي على الخصائص التالية:
accountNumber: رقم الحساب (سلسلة نصية)
accountHolder: اسم صاحب الحساب (سلسلة نصية)
balance: الرصيد (رقم عشري)
المتطلبات:
استخدم مفهوم التغليف لجعل الخصائص خاصة private واستخدم getters وsetters.
أنشئ بانيًا (Constructor) يستقبل القيم الأولى للخصائص الثلاث.
أنشئ طريقتين غير ستاتيكية:
deposit(double amount): تضيف مبلغًا للحساب.
withdraw(double amount): تسحب مبلغًا إذا كان كافيًا.
أنشئ طريقة ستاتيكية:
convertUSDToSYP(double amountUSD): تحول من دولار إلى ليرة سورية (اعتبر 1 USD = 14,000 SYP).
استخدم كل مابنيته بالكلاس في التابع main
الوصف:
اكتب كلاس باسم BankAccount يحتوي على الخصائص التالية:
accountNumber: رقم الحساب (سلسلة نصية)
accountHolder: اسم صاحب الحساب (سلسلة نصية)
balance: الرصيد (رقم عشري)
المتطلبات:
استخدم مفهوم التغليف لجعل الخصائص خاصة private واستخدم getters وsetters.
أنشئ بانيًا (Constructor) يستقبل القيم الأولى للخصائص الثلاث.
أنشئ طريقتين غير ستاتيكية:
deposit(double amount): تضيف مبلغًا للحساب.
withdraw(double amount): تسحب مبلغًا إذا كان كافيًا.
أنشئ طريقة ستاتيكية:
convertUSDToSYP(double amountUSD): تحول من دولار إلى ليرة سورية (اعتبر 1 USD = 14,000 SYP).
استخدم كل مابنيته بالكلاس في التابع main
🔥1
التمرين الثاني: نظام لإدارة الطلاب
الوصف:
اكتب كلاس باسم Student يحتوي على:
name: اسم الطالب
id: رقم الطالب
gpa: المعدل التراكمي
المتطلبات:
الخصائص يجب أن تكون خاصة (Private) مع getters وsetters.
أنشئ بانيًا يستقبل الاسم والرقم فقط، واجعل المعدل يبدأ بـ 0.0.
أضف طريقة غير ستاتيكية:
updateGPA(double newGPA): تحدّث المعدل إذا كان بين 0 و 4.0.
أضف طريقة ستاتيكية:
isHonorStudent(double gpa): تعيد true إذا كان المعدل ≥ 3.5.
استخدم كل مابنيته بالكلاس في التابع main
الوصف:
اكتب كلاس باسم Student يحتوي على:
name: اسم الطالب
id: رقم الطالب
gpa: المعدل التراكمي
المتطلبات:
الخصائص يجب أن تكون خاصة (Private) مع getters وsetters.
أنشئ بانيًا يستقبل الاسم والرقم فقط، واجعل المعدل يبدأ بـ 0.0.
أضف طريقة غير ستاتيكية:
updateGPA(double newGPA): تحدّث المعدل إذا كان بين 0 و 4.0.
أضف طريقة ستاتيكية:
isHonorStudent(double gpa): تعيد true إذا كان المعدل ≥ 3.5.
استخدم كل مابنيته بالكلاس في التابع main
ما هو الهدف الأساسي من البرمجة الكائنية؟
Anonymous Quiz
0%
تحسين سرعة المعالج
100%
تنظيم الكود وتسهيل إعادة استخدامه
0%
تقليل حجم الذاكرة
0%
زيادة عدد الاسطر
ماهو الكلاس ؟
Anonymous Quiz
0%
كائن يمثل شيء معين
0%
وظيفة داخل البرنامج
100%
قالب يمكن إنشاء كائنات منه
0%
نوع متغير
ما هو الكائن (Object) في OOP؟
Anonymous Quiz
10%
نوع من المتغيرات
40%
نسخة من الكلاس
20%
وظيفة في الكلاس
30%
عنصر واجهة مستخدم
أي من التالي يعبر عن التغليف (Encapsulation)؟
Anonymous Quiz
0%
مشاركة كل المتغيرات
0%
جعل الخصائص public
100%
حماية الخصائص عبر جعلها private واستخدام getters/setters
0%
كتابة أكثر من كلاس داخل ملف واحد
عند كتابة
Student s = new Student();،
ما الذي يحدث؟
Student s = new Student();،
ما الذي يحدث؟
Anonymous Quiz
0%
تعريف متغير
92%
إنشاء كائن جديد من الكلاس
0%
حذف الكائن
8%
استدعاء دالة
إذا تم إنشاء كائن من كلاس يحتوي على خصائص خاصة فقط، هل يمكن الوصول لها مباشرة من الخارج؟
Anonymous Quiz
0%
نعم
89%
لا
11%
فقط من كلاس أخر غير الكلاس نفسه
لماذا نستخدم getters و setters؟
Anonymous Quiz
0%
لتحسين سرعة البرنامج
63%
للوصول الآمن للخصائص الخاصة
25%
لاستيراد المكتبات
13%
لتكرار الكود
الكود
private int age;
يعني:
private int age;
يعني:
Anonymous Quiz
0%
المتغير يمكن الوصول له من أي مكان
100%
المتغير يمكن الوصول له فقط داخل الكلاس
0%
المتغير ستاتيكي
0%
المتغير عام
ماهي قواعد تسمية الباني؟
Anonymous Quiz
14%
نفس قواعد تسمية التوابع والمتحولات
0%
main
86%
نفس اسم الكلاس
0%
نفس اسم الحزمة
ما الذي يميز الباني؟
Anonymous Quiz
100%
لايحتوي على نمط قيمة معادة
0%
يعرف على انه static
0%
لايمكن تعريفه اكثر من مرة
0%
نمط القيمة المعادة دائما void
ماذا يحدث إذا لم نكتب بانيًا؟
Anonymous Quiz
0%
البرنامج يتوقف
0%
لا يمكن إنشاء اغراض من الكلاس
100%
سيتم إنشاء باني افتراضي تلقائيًا
0%
البرنامج يطبع رسالة خطأ
ما الفرق بين الطريقة الستاتيكية والغير ستاتيكية؟
Anonymous Quiz
60%
الستاتيكية يمكن استدعاؤها بدون كائن
0%
الغير ستاتيكية أسرع
40%
الستاتيكية لا تستخدم المعاملات
0%
الغير ستاتيكية لا يمكن استخدامها
لاستدعاء طريقة غير ستاتيكية، نحتاج إلى:
Anonymous Quiz
20%
كتابة static
0%
استدعائها داخل void فقط
60%
إنشاء كائن أولًا
20%
لا نحتاج أي شيء
ما الهدف من الطرق الستاتيكية؟
Anonymous Quiz
60%
لا تحتاج كائنًا للتنفيذ
0%
تغير الخصائص دائمًا
0%
لا تحتوي return
40%
لا تحتاج متغيرات
إذا أردت إنشاء دالة للتحويل بين عملات دون الحاجة لإنشاء كائن، كيف تكتبها؟
Anonymous Quiz
0%
A) public void convert()
100%
B) public static void convert()
0%
C) private static void convert()
0%
D) void convert()