أمثلة محلولة فى الجافا ...تمثيل نظام بنكي بحيث يحتوي على فئتين لحسابات التوفير و الحسابات الجارية
منتدى مصر التقني :: قسم لغات البرمجة Programming languages :: لغة الجافا Java :: نقاش و أستفسارات الاعضاء
صفحة 1 من اصل 1 • شاطر
أمثلة محلولة فى الجافا ...تمثيل نظام بنكي بحيث يحتوي على فئتين لحسابات التوفير و الحسابات الجارية
اهلا وسهلا بكم
أحد الاخوة على الفيس بوك عرض السؤال التالى :
الحل :
يتطلب السؤال انشاء صنفين لتمثيل نظام حساب مصرفي الصنف الاول باسم SavingAccount لتمثيل حسابات التوفير و الاخر باسم CurrentAccount لتمثيل الحسابات الجارية مع الاخذ فى الاعتبار تطبيق مبداء الوراثة ....لذلك سنحاول نحدد الطرق و المتغيرات المشتركة لتنفيذ هذا المبدء ....والملاحظ فى السؤال نجد ان الطرق و المتغيرات المشتركة بين الفئتين هما على النحو التالى :
لذلك سنتبع الخطوات التالية للك
1_إنشاء صنف أو فئة باسم Account لنقوم بجمع كافة الطرق و المتيرات المشتركة بين الفئين وذلك على النحو التالى :
2_نقوم بانشاء الفئة SavingAccount على النحو التالى :
3_نقوم بانشاء الفئة CurrentAccount على النحو التالى :
4_أخير نقوم بتنفيذ النظام على النحو التالى :
مخرجات النظام على النحو التالى :
أحد الاخوة على الفيس بوك عرض السؤال التالى :
الحل :
يتطلب السؤال انشاء صنفين لتمثيل نظام حساب مصرفي الصنف الاول باسم SavingAccount لتمثيل حسابات التوفير و الاخر باسم CurrentAccount لتمثيل الحسابات الجارية مع الاخذ فى الاعتبار تطبيق مبداء الوراثة ....لذلك سنحاول نحدد الطرق و المتغيرات المشتركة لتنفيذ هذا المبدء ....والملاحظ فى السؤال نجد ان الطرق و المتغيرات المشتركة بين الفئتين هما على النحو التالى :
- الكود:
public String holderName;
public String AccountNo;
public int branchld=0;
public float balance= 0.0f;;
لذلك سنتبع الخطوات التالية للك
1_إنشاء صنف أو فئة باسم Account لنقوم بجمع كافة الطرق و المتيرات المشتركة بين الفئين وذلك على النحو التالى :
- الكود:
// إنشاء الفئة التى سيتم الوراثة منها و التى تشمل على المتغيرات و الطرق المشتركة بين الحساب الجاري و حساب التوفير
public class Account {
// تغير المتغيرات التى سيتم تخزين القيم بها
public String holderName;
public String AccountNo;
public int branchld=0;
public float balance= 0.0f;;
// طريقتين لتعين و ارجاع أسم مالك الحساب
public void setHolder_Name(String Name) {
this.holderName= Name;
}
public String getHolder_Name() {
return this.holderName ;
}
//طريقين لتعين و ارجاع رقم الحساب
public void setAccountNo(String No) {
this.AccountNo= No;
}
public String getAccountNo() {
return this.AccountNo ;
}
// طريقتين لتعين و ارجاع رقم الفرع
public void setbran_chld(int No) {
this.branchld= No;
}
public int getbran_chld() {
return this.branchld ;
}
// طريقتين لتعين و ارجاع رصيد الحسابات
public void setBalance(float Value) {
this.balance= Value;
}
public float getBalance() {
return this.balance ;
}
}
2_نقوم بانشاء الفئة SavingAccount على النحو التالى :
- الكود:
// إنشاء فئة الخاصة بحسابات التوفير مع الوارثة من فئة الحساب
public class SavingAccount extends Account {
// تعيم متغير لتخزين الحد الادنى لعمليات السحب
private int WithdrawLimmit=0;
// تعين متغير لتخزين معدل الفائة
private float interstRate= 0.0f;
// إنشاء مشيد الفئة بالبيانات المطلوبة
public SavingAccount(String AccountNo,String HolderName,int branchld,float balance,float rate,int WithdrawLimmit){
this.AccountNo=AccountNo;
this.holderName=HolderName;
this.branchld=branchld;
this.balance=balance;
this.interstRate=rate;
this.WithdrawLimmit=WithdrawLimmit;
}
// طريقتين لتعين و ارجاع غدد مرات السحب اليومي
public void setLimmit_No(int Limmit_No) {
this.WithdrawLimmit= Limmit_No;
}
public int getLimmit_No() {
return this.WithdrawLimmit ;
}
// طريقتين لتعين و ارجاع معدل الفائدة
public void setInterst_Rate(float Value) {
this.interstRate= Value;
}
public float getInterst_Rate() {
return this.interstRate ;
}
//الطريقة التى ستقوم بطباعة عن بيانات الحسابات
public void Report(){
System.out.println("\n ****** Savings Account Details ****** ");
System.out.println(" Account No: "+ this.getAccountNo());
System.out.println(" Holder Name: "+ this.getHolder_Name());
System.out.println(" Bran Chld No: "+ this.getHolder_Name());
System.out.println(" Current Balance: "+ this.getBalance());
System.out.println(" Interst Rate: "+ this.getInterst_Rate());
System.out.println(" Withdraw Limmit: "+ this.getLimmit_No());
System.out.println("\t\t\t\t ****** Savings Account Details ******\n ");
}
}
3_نقوم بانشاء الفئة CurrentAccount على النحو التالى :
- الكود:
// إنشاء الفئة الخاصة بحسابات الجارية
public class CurrentAccount extends Account{
// تعين متغير لتحزين القيمة التى يمكن سحبها بالسالب من الرصيد
private float overdraft= 0.0f;;
// إنشاء مشيد الفئة بالبيانات المطلوبة
public CurrentAccount(String AccountNo,String HolderName,int branchld,float balance,float overdraft){
this.AccountNo=AccountNo;
this.holderName=HolderName;
this.branchld=branchld;
this.balance=balance;
this.overdraft=overdraft;
}
// طريقتين لتعين و ارجاع القيمة التى يمكن سحبها بالسالب
public void setOver_Draft(float Value) {
this.overdraft= Value;
}
public float getOver_Draft() {
return this.overdraft ;
}
//الطريقة التى ستقوم بطباعة عن بيانات الحسابات
public void Report(){
System.out.println("\n ****** Current Account Details ****** ");
System.out.println(" Account No: "+ this.getAccountNo());
System.out.println(" Holder Name: "+ this.getHolder_Name());
System.out.println(" Bran Chld No: "+ this.getHolder_Name());
System.out.println(" Current Balance: "+ this.getBalance());
System.out.println(" Interst Rate: "+ this.getOver_Draft());
System.out.println("\t\t\t\t ****** Current Account Details ******\n ");
}
}
4_أخير نقوم بتنفيذ النظام على النحو التالى :
- الكود:
import java.util.Scanner;
public class Manna_Bank {
// تنفيذ النظام
public static void main(String[] args) throws InterruptedException {
String Name=null,AccountNo=null;int chld=0; float balance= 0.0f;;
System.out.println("Welcome to the banking system of Manna Bank");
System.out.println("*************************************");
System.out.println("");
System.out.println("Please choose the type of account you want to create?");
System.out.println("1.Create a Saving Account");
System.out.println("2.Create a Current Account");
System.out.println("3. Exit");
System.out.println("");
System.out.println("Please Enter your choice:");
Scanner keyboard1 = new Scanner(System.in);
int choice= keyboard1.nextInt();
switch (choice){
case 1:
//إنشاء كائن الادخال لإدخالالبيانات من لوحة المفاتيح.
Scanner keyboard = new Scanner(System.in);
System.out.println("Please Enter AccountNo.");
AccountNo=keyboard.nextLine();
System.out.println("Please Enter HolderName.");
Name=keyboard.nextLine();
System.out.println("Please Enter Bran_Chld.");
chld=keyboard.nextInt();
System.out.println("Please Enter Balance_Value.");
balance=keyboard.nextFloat();
// إنشاء حساب التوفير
SavingAccount S = new SavingAccount(AccountNo,Name,chld,balance,0.25f,6);
//طباعة التقرير الخاص بالحساب
S.Report();
break;
case 2:
//إنشاء كائن الادخال لإدخالالبيانات من لوحة المفاتيح.
Scanner keyboard2 = new Scanner(System.in);
System.out.println("Please Enter AccountNo.");
AccountNo=keyboard2.nextLine();
System.out.println("Please Enter HolderName.");
Name=keyboard2.nextLine();
System.out.println("Please Enter Bran_Chld.");
chld=keyboard2.nextInt();
System.out.println("Please Enter Balance_Value.");
balance=keyboard2.nextFloat();
// إنشاء الحساب الجاري
CurrentAccount C = new CurrentAccount(AccountNo,Name,chld,balance,-5000);
// طباعة التقارير الخاصة بالحساب
C.Report();
break;
case 3:
System.exit(0);
break;
default:
System.out.println("Invalid Entry!");
}
}
}
مخرجات النظام على النحو التالى :
ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
| |
منتدى مصر التقني :: قسم لغات البرمجة Programming languages :: لغة الجافا Java :: نقاش و أستفسارات الاعضاء
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى
الخميس أبريل 25, 2024 8:56 pm من طرف moslema_r
» شركة مكافحة حشرات في راس الخيمة
الخميس أبريل 25, 2024 8:34 pm من طرف moslema_r
» تطبيقIncogniton لإدارة ملفات تعريف متعددة للمتصفح
الأربعاء أبريل 24, 2024 3:51 pm من طرف زاكااا
» افضل شركة مكافحة النمل الابيض بالرياض
الإثنين أبريل 22, 2024 9:41 pm من طرف moslema_r
» Exemplary Сasual Dating - Verified Women
الخميس أبريل 18, 2024 9:18 pm من طرف wdqwd
» رش الدفان بالرياض
الخميس أبريل 18, 2024 7:11 pm من طرف moslema_r
» شركة تنظيف خزانات الشارقة
الخميس أبريل 18, 2024 6:57 pm من طرف moslema_r
» شركة مكافحة الفئران بالرياض
الإثنين أبريل 15, 2024 8:23 pm من طرف moslema_r
» افضل شركة كشف تسربات المياه بالباحة
الخميس أبريل 04, 2024 7:02 am من طرف gmalnagy
» ساعدوني وفهموني help me
الجمعة مارس 29, 2024 8:37 am من طرف linesoft