طريقة الإيداع
جزء من قسم البرمجة كائنية التوجه في رحلة Lua على Coddy — الدرس 20 من 70.
التحدي
سهلبدأنا الآن مشروع البنك الرقمي (Digital Bank). حان الوقت لإضافة وظائف إلى نظامك الجديد! الآن بعد أن أصبح من الممكن إنشاء حسابات برصيد ابتدائي قدره 0، دعنا نمنحها القدرة على استقبال الأموال من خلال الودائع (deposits).
اعتماداً على فئة Account الحالية لديك، ستضيف طريقة :deposit(amount) التي تزيد رصيد الحساب بمقدار المبلغ المحدد. هذه عملية مصرفية أساسية - تدخل الأموال وينمو الرصيد!
الملفان الخاصان بك:
Account.lua: قم بتوسيع فئة Account الخاصة بك عن طريق إضافة طريقة:deposit(amount). يجب أن تضيف هذه الطريقة المبلغ المحدد إلىself.balance. احتفظ بكل شيء من الدرس السابق (هيكل الفئة ومنشئ:new()).main.lua: استدعِ وحدة Account الخاصة بك باستخدام require، وأنشئ حساباً، وقم بإجراء بعض الودائع، واعرض كيف يتغير الرصيد.
ستتلقى ثلاثة مدخلات:
- مبلغ الإيداع الأول
- مبلغ الإيداع الثاني
- مبلغ الإيداع الثالث
في ملفك الرئيسي main، أنشئ حساباً واحداً وقم بإجراء الودائع الثلاثة بالترتيب. بعد كل إيداع، اطبع الرصيد الحالي في سطر جديد.
على سبيل المثال، إذا كانت المدخلات هي 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
جميع دروس البرمجة كائنية التوجه
4مشروع: بنك رقمي
إعداد المشروعطريقة الإيداع7تعدد الأشكال وإعادة التعريف
إعادة تعريف الدوالاستدعاء دوال الفئة الأبDuck Typingواجهة مشتركةالتحقق من النوعمراجعة - أدوار الموظفين2نمط النموذج الأولي للفئات
مفهوم النموذج الأوليالربط باستخدام __indexالمنشئ :new()تهيئة الخصائصنسخ مستقلةملخص - مصنع السيارات5تحميل المعاملات في OOP
جمع الكائناتطرح الكائناتدمج الكائناتمقارنة الكائنات (<, >)مراجعة - رياضيات المحفظة8التغليف
اصطلاحات التسميةاستخدام Closures للخصوصيةالوصول عبر Closuresجداول للقراءة فقطمنطق التحقق من الصحةمراجعة - الخزنة الآمنة11أنماط التصميم (مبسط)
دوال المصنعجدول Singletonنمط الـ Iteratorالمراقب (المستمع)مراجعة - مصنع الـ Logger3حالة الكائن وسلوكه
متغيرات النسخةدالات الجلب (Getter Methods)دالات التعيين (Setter Methods)الخصائص المحسوبةتنسيق النصوصالتحقق من المساواةمراجعة - درجة الطالب6أساسيات الوراثة
إعداد الوراثةوراثة الـ Methodsتوسيع الـ Constructorإضافة Methods للابنالمشترك مقابل الفريدملخص - التسلسل الهرمي للأشكال