تطبيق بنكي اداري متكاملبلغة JAVA مفاهيم ال OOP

تفاصيل العمل

الفكرة العامة للمشروع:

هو تطبيق إداري متكامل مصمم بلغة Java يهدف إلى أتمتة وإدارة العمليات البنكية الأساسية، مثل فتح الحسابات المالية مختلف الأنواع، إجراء عمليات الإيداع والسحب، تطبيق الفوائد الدورية، وتوثيق سجل شامل لجميع المعاملات المالية لضمان أعلى مستويات الدقة والأمان.

2. المكونات الأساسية للبرنامج (Classes Architecture):

ينقسم المشروع إلى 6 فئات برمجة برمجية رئيسية تطبق مفاهيم البرمجة كائنية التوجه (OOP):

Account.java (الفئة الأساسية - Base Class):

تمثل الحساب البنكي العام.

تحتوي على البيانات الأساسية: رقم الحساب (accountNumber)، اسم المالك (owner)، والرصيد الحالي (balance).

تحتوي على الدوال الأساسية للإيداع (deposit) والسحب (withdraw) والتحقق من الرصيد.

SavingsAccount.java (حساب التوفير - Derived Class):

ترث من فئة Account.

تتميز بإضافة نسبة فائدة سنوية/شهرية (interestRate).

تحتوي على دالة applyInterest() لإضافة قيمة الفائدة تلقائياً للرصيد.

CheckingAccount.java (الحساب الجاري - Derived Class):

ترث من فئة Account.

تتميز بوجود حد للسحب على المكشوف (overdraftLimit).

تعيد تعريف دالة السحب لتسمح للمستخدم بسحب مبالغ تتجاوز رصيده الحقيقي حتى الحد المسموح به.

Transaction.java (سجل المعاملة المالية):

تُستخدم لتخزين تفاصيل كل عملية تتم داخل النظام (رقم الحساب، نوع العملية، المبلغ، وحالة النجاح أو الفشل).

Bank.java (فئة إدارة البنك):

تعمل كـ Controller تدير جميع الحسابات وسجلات المعاملات.

تحتوي على قوائم (Lists) لتخزين الحسابات والعمليات، مع توفير دوال للبحث عن الحسابات وتحديث بياناتها وطباعة تقارير المعاملات.

Main.java (الفئة الرئيسية - Entry Point):

تحتوي على دالة main لتشغيل وتجربة النظام، حيث يتم إنشاء الحسابات واختبار سيناريوهات الإيداع والسحب المختلفة وطباعة المخرجات على الشاشة.

3. المفاهيم التقنية المطبقة في المشروع (Technical Concepts):

البرمجة كائنية التوجه (OOP):

الوراثة (Inheritance): استخدام extends لبناء حسابات التوفير والجاري اعتماداً على الحساب الأساسي.

تعدد الأشكال (Polymorphism) والإعادة (Overriding): إعادة تعريف دالة السحب في الحساب الجاري.

التغليف (Encapsulation): حماية البيانات باستخدام private و protected والوصول إليها عبر الـ Getters & Setters.

إدارة البيانات والقوائم (Collections Framework): استخدام ArrayList و List لتخزين الحسابات والسجلات الديناميكية.

التحقق من صحة المدخلات (Data Validation): منع السحب بآلية تجاوز الحدود ومنع الإيداع بالمبالغ السالبة

بطاقة العمل

اسم المستقل
عدد الإعجابات
0
تاريخ الإضافة
تاريخ الإنجاز
المهارات