إعداد المشروع
جزء من قسم البرمجة كائنية التوجه في رحلة Lua على Coddy. الدرس 19 من 70.
التحدي
سهلنبدأ مشروع Digital Bank. خلال الدروس القادمة ستبني Account class يمكنها استقبال الإيداعات، ومعالجة عمليات السحب، وطباعة نفسها وتحويل الأموال إلى حسابات أخرى. يبدأ كل شيء ببنية file نظيفة وconstructor.
لديك ملفان:
Account.lua: عرّفAccounttable، واضبطAccount.__index = Accountلكي تجد instances الخاصة بها methods، واكتب constructor:new(). فهو ينشئ table empty، ويضبط metatable الخاص بها علىAccount، ويمنحهاbalanceبقيمة0ثم يعيدها. ينتهي file بعبارةreturn Account.main.lua: استخدم require لتحميل module بواسطةrequire('Account')، وأنشئ حسابين باستخدامAccount:new()، واطبع balance لكل one في line منفصل، ثم اطبعsavings == checkingلإظهار أن الاستدعاءين أنتجا tableين different.
الناتج المتوقع:
0
0
falseيبدأ كل account بقيمة صفر. في الدرس التالي ستضيف method :deposit(amount) التي تجعل balance يزداد.
جرّب بنفسك
-- TODO: require وحدة Account (الملف هو Account.lua)
local Account = nil
-- TODO: أنشئ حسابين باستخدام Account:new()
-- TODO: اطبع رصيد كل حساب (واحد في كل سطر)
-- TODO: اطبع ما إذا كان الحسابان هما نفس الجدول (يجب ألا يكونا كذلك)
جميع دروس البرمجة كائنية التوجه
4مشروع: بنك رقمي
إعداد المشروعطريقة الإيداع7تعدد الأشكال وإعادة التعريف
إعادة تعريف الدوالاستدعاء دوال الفئة الأبDuck Typingواجهة مشتركةالتحقق من النوعمراجعة - أدوار الموظفين2نمط النموذج الأولي للفئات
مفهوم النموذج الأوليالربط باستخدام __indexالمنشئ :new()تهيئة الخصائصنسخ مستقلةملخص - مصنع السيارات5تحميل المعاملات في OOP
جمع الكائناتطرح الكائناتدمج الكائناتمقارنة الكائنات (<, >)مراجعة - رياضيات المحفظة8التغليف
اصطلاحات التسميةاستخدام Closures للخصوصيةالوصول عبر Closuresجداول للقراءة فقطمنطق التحقق من الصحةمراجعة - الخزنة الآمنة11أنماط التصميم (مبسط)
دوال المصنعجدول Singletonنمط الـ Iteratorالمراقب (المستمع)مراجعة - مصنع الـ Logger3حالة الكائن وسلوكه
متغيرات النسخةدالات الجلب (Getter Methods)دالات التعيين (Setter Methods)الخصائص المحسوبةتنسيق النصوصالتحقق من المساواةمراجعة - درجة الطالب6أساسيات الوراثة
إعداد الوراثةوراثة الـ Methodsتوسيع الـ Constructorإضافة Methods للابنالمشترك مقابل الفريدملخص - التسلسل الهرمي للأشكالتدرّب بنفسك: مترجم Lua عبر الإنترنت