Menu
Coddy logo textTech

פרטי חשבון

חלק מהיחידה תכנות מונחה עצמים במסלול ה-Lua של Coddy. שיעור 23 מתוך 70.

challenge icon

אתגר

קל

הבנק הדיגיטלי שלך הופך למקצועי יותר! עכשיו נדאג שהחשבונות שלך יוצגו בצורה נאה בעת הדפסתם. באמצעות הוספת מתודת מטא __tostring, אפשר לשלוט בדיוק באופן שבו חשבון מוצג: להציג גם את מזהה החשבון וגם את היתרה הנוכחית בפורמט נקי וקריא.

תמשיך לעבוד על הקבצים הקיימים שלך:

  • Account.lua: הרחב את מחלקת Account שלך בשתי תכונות חדשות:
    • שנה את הבנאי :new() כך שיקבל פרמטר id שמזהה כל חשבון
    • הוסף מתודת מטא __tostring שמחזירה מחרוזת מעוצבת המציגה את פרטי החשבון
    שמור על כל הפונקציונליות הקיימת שלך (המתודות deposit, withdraw ו-getBalance).
  • main.lua: צור חשבונות עם מזהים והדגם כיצד הם מוצגים בעת הדפסתם.

המתודה __tostring צריכה להחזיר מחרוזת בפורמט המדויק הזה:

Account [ID]: Balance = BALANCE

כאשר ID הוא מזהה החשבון ו-BALANCE היא היתרה הנוכחית.

תקבל ארבע קלטים:

  1. מזהה החשבון הראשון
  2. סכום ההפקדה לחשבון הראשון
  3. מזהה החשבון השני
  4. סכום ההפקדה לחשבון השני

בקובץ הראשי שלך, צור שני חשבונות עם המזהים הנתונים, הפקד את הסכומים המתאימים בכל אחד מהם, ואז הדפס כל חשבון ישירות באמצעות print(). מתודת המטא __tostring תיקרא אוטומטית בעת הדפסת אובייקט החשבון.

לדוגמה, אם הקלט הוא 1001, 500, 1002 ו-750, הפלט צריך להיות:

Account [1001]: Balance = 500
Account [1002]: Balance = 750

לכל חשבון יש עכשיו זהות ייחודית והוא יכול לתאר את עצמו בבירור: חוויית בנקאות מקצועית הרבה יותר!

נסו בעצמכם

-- טען את המודול Account
local Account = require('Account')

-- קרא את ארבעת הקלטים
local id1 = io.read()
local deposit1 = tonumber(io.read())
local id2 = io.read()
local deposit2 = tonumber(io.read())

-- צור שני חשבונות עם מזהים
local account1 = Account:new(id1)
local account2 = Account:new(id2)

-- הפקד את הסכומים המתאימים
account1:deposit(deposit1)
account2:deposit(deposit2)

-- הדפס כל חשבון (משתמש ב-__tostring)
print(account1)
print(account2)

כל השיעורים ביחידה תכנות מונחה עצמים

תרגלו בעצמכם: קומפיילר Lua אונליין