طريقة الإيداع
جزء من قسم Object Oriented Programming في رحلة Lua على Coddy — الدرس 20 من 70.
التحدي
سهلحان الوقت لإضافة وظائف إلى بنكك الرقمي! الآن بعد أن أصبح من الممكن إنشاء حسابات برصيد ابتدائي قدره 0، فلنمنحها القدرة على استقبال الأموال من خلال الإيداعات.
بناءً على فئة Account الحالية، ستضيف طريقة :deposit(amount) تزيد من رصيد الحساب بالمبلغ المحدد. هذه عملية مصرفية أساسية - تدخل الأموال، وينمو الرصيد!
ملفاك هما:
Account.lua: قم بتوسيع فئة Account الخاصة بك عن طريق إضافة طريقة:deposit(amount). يجب أن تضيف هذه الطريقة المبلغ المعطى إلىself.balance. احتفظ بكل شيء من الدرس السابق (هيكل الفئة ومنشئ:new()).main.lua: اطلب وحدة Account الخاصة بك، وأنشئ حساباً، وقم بإجراء بعض الإيداعات، وأظهر كيف يتغير الرصيد.
ستتلقى ثلاثة مدخلات:
- مبلغ الإيداع الأول
- مبلغ الإيداع الثاني
- مبلغ الإيداع الثالث
في ملفك الرئيسي، أنشئ حساباً واحداً وقم بإجراء الإيداعات الثلاثة بالترتيب. بعد كل عملية إيداع، اطبع الرصيد الحالي في سطر جديد.
على سبيل المثال، إذا كانت المدخلات هي 100 و 50 و 25، فيجب أن يكون الناتج:
100
150
175لاحظ كيف يعتمد كل إيداع على الرصيد السابق - يبدأ الحساب من 0، ثم ينمو إلى 100 بعد الإيداع الأول، و 150 بعد الثاني، و 175 بعد الثالث. طريقة :deposit() الخاصة بك تجعل هذا التراكم يحدث!
جرّب بنفسك
-- استيراد وحدة الحساب (Account)
local Account = require('Account')
-- قراءة مبالغ الإيداع الثلاثة
local deposit1 = tonumber(io.read())
local deposit2 = tonumber(io.read())
local deposit3 = tonumber(io.read())
-- إنشاء حساب واحد
local account = Account:new()
-- تنفيذ عمليات الإيداع الثلاث وطباعة الرصيد بعد كل عملية
-- TODO: إيداع deposit1 وطباعة account.balance
-- TODO: إيداع deposit2 وطباعة account.balance
-- TODO: إيداع deposit3 وطباعة account.balance
جميع دروس Object Oriented Programming
4مشروع: بنك رقمي
إعداد المشروعطريقة الإيداع7تعدد الأشكال وإعادة التعريف
إعادة تعريف الدوالاستدعاء دوال الفئة الأبDuck Typingواجهة مشتركةالتحقق من النوعمراجعة - أدوار الموظفين2نمط النموذج الأولي للفئات
مفهوم النموذج الأوليالربط باستخدام __indexالمنشئ :new()تهيئة الخصائصنسخ مستقلةملخص - مصنع السيارات5تحميل المعاملات في OOP
جمع الكائناتطرح الكائناتدمج الكائناتمقارنة الكائنات (<, >)مراجعة - رياضيات المحفظة8التغليف
اصطلاحات التسميةاستخدام Closures للخصوصيةالوصول عبر Closuresجداول للقراءة فقطمنطق التحقق من الصحةمراجعة - الخزنة الآمنة11أنماط التصميم (مبسط)
دوال المصنعجدول Singletonنمط الـ Iteratorالمراقب (المستمع)مراجعة - مصنع الـ Logger3حالة الكائن وسلوكه
متغيرات النسخةدالات الجلب (Getter Methods)دالات التعيين (Setter Methods)الخصائص المحسوبةتنسيق النصوصالتحقق من المساواةمراجعة - درجة الطالب6أساسيات الوراثة
إعداد الوراثةوراثة الـ Methodsتوسيع الـ Constructorإضافة Methods للابنالمشترك مقابل الفريدملخص - التسلسل الهرمي للأشكال