أسئلة وتمارين
بناء class لإيجاد مساحة ومحيط الدائرة
Circle class:
package com.mycompany.javaoop; public class Circle { private double radius; private String color; public double getRadius() { return radius; } public void setRadius(double radius) { this.radius = radius; } public String getColor() { return color; } public void setColor(String color) { this.color = color; } public double getArea() { return Math.PI * radius * radius; } public double getCircumference() { return Math.PI * 2 * radius; } public String toString() { return "Circle{" + "radius=" + radius + ", color=" + color + "}"; } }
صفات:
- radius: سمة مزدوجة خاصة لتخزين نصف قطر الدائرة.
- color: سمة سلسلة خاصة لتخزين لون الدائرة (اختياري، للحصول على معلومات إضافية).
الطرق Methods:
– Getters وSetters:
- getRadius (): إرجاع القيمة الحالية لسمة نصف القطر.
- setRadius(double radius): يضبط قيمة سمة radius، ربما مع التحقق من الصحة (غير متضمنة في هذا المثال).
- getColor(): إرجاع القيمة الحالية لسمة اللون (إن وجدت).
- setColor(String color): يضبط قيمة سمة اللون (إن وجدت).
- المساحة والمحيط:
- getArea(): حساب وإرجاع مساحة الدائرة باستخدام Math.PI * radius * radius.
- getCircumference(): حساب وإرجاع محيط الدائرة باستخدام Math.PI * 2 * radius.
- toString(): يتجاوز أسلوب toString() الافتراضي لتوفير تمثيل أكثر وصفًا لكائن الدائرة، بما في ذلك نصف القطر واللون (إن وجد).
Main Class:
package com.mycompany.javaoop; public class Main { public static void main(String args[]) { Circle c1 = new Circle(), c2 = new Circle(); c1.setRadius(3.0); c1.setColor("Black"); System.out.println("c1 area = " + c1.getArea()); System.out.println(c1.toString()); c2.setRadius(2.0); c2.setColor("Blaue"); System.out.println("c2 Circumference = " + c2.getCircumference()); } }
- ينشئ كائنين: c1 وc2.
- يضبط نصف القطر واللون (إن أمكن) لكل كائن.
- حساب وطباعة مساحة c1 ومحيط c2.
- اختياريًا، يمكنك استدعاء c1.toString() وc2.toString() لطباعة تمثيلاتهم الكاملة.
بناء نظام بنكي بسيط
Account class:
package com.mycompany.javaoop; public class Account { private int accountNo; private String name; private float amount; public void insert(int a, String n, float amt) { this.accountNo = a; this.name = n; this.amount = amt; } public void deposit(float amt) { this.amount = this.amount + amt; System.out.println(amt + "deposited"); } public void withdraw(float amt) { if(amount < amt) { System.out.println("Insufficient Balance") } else { this.amount = this.amount - amt; System.out.println(amt + "withdrawn"); } } public void checkBalance() { System.out.println("Balance = " + this.amount); } public String toString() { return "Account{" + "accountNo=" + accountNo + ", name =" + name + ", amount=" + amount; } }package com.mycompany.javaoop; public class Account { private int accountNo; private String name; private float amount; public void insert(int a, String n, float amt) { this.accountNo = a; this.name = n; this.amount = amt; } public void deposit(float amt) { this.amount = this.amount + amt; System.out.println(amt + "deposited"); } public void withdraw(float amt) { if(amount < amt) { System.out.println("Insufficient Balance") } else { this.amount = this.amount - amt; System.out.println(amt + "withdrawn"); } } public void checkBalance() { System.out.println("Balance = " + this.amount); } public String toString() { return "Account{" + "accountNo=" + accountNo + ", name =" + name + ", amount=" + amount; } }
صفات:
- accountNo: هو Private int يقوم بتخزين رقم الحساب.
- name: تقوم الـString الخاصة بتخزين اسم صاحب الحساب.
- amount: يخزن قيمة عشرية خاصة برصيد الحساب.
الطرق Methods:
- insert(int a, String n, float amt):
تهيئة الحساب برقم الحساب والاسم والمبلغ الأولي المقدم. - deposit(float amt):
إيداع المبلغ المحدد في الحساب.
طباعة رسالة تأكيد بالمبلغ المودع. - withdraw(float amt):
يسحب المبلغ المحدد من الحساب، ولكن فقط إذا كان هناك رصيد كاف.
طباعة رسالة تأكيد في حالة النجاح، أو رسالة "Insufficient Balance" في حالة خلاف ذلك. - checkBalance():
يعرض رصيد الحساب الجاري. - toString():
يتجاوز الأسلوب toString() الافتراضي لتوفير تمثيل سلسلة مخصص للحساب، بما في ذلك رقم الحساب والاسم والرصيد.
أكمل الآن هذا الكود كتمرين عن طريق إنشاء الـinstances المناسبة. لمزيد من المعلومات يرجى مشاهدة هذا الفيديو: Questions and Exercises – Classes and Objects