חזרה – חישובים עם ארנק
חלק מהיחידה תכנות מונחה עצמים במסלול ה-Lua של Coddy. שיעור 30 מתוך 70.
אתגר
קלבואו נבנה מחלקת Wallet שמאגדת את המיומנויות של העמסת אופרטורים שלמדת בפרק הזה. הארנק שלך יאחסן סכום כסף ויתמוך בשתי פעולות מרכזיות: שילוב ארנקים באמצעות + והשוואת ארנקים באמצעות < ו->.
תארגן את הקוד שלך בשני קבצים:
Wallet.lua: הגדר את מחלקת Wallet שלך עם שדהamountשמייצג כמה כסף יש בו. כלול בנאי:new(amount)וממש שתי מתודות מטא:__add: חיבור של שני ארנקים יוצר ארנק חדש שמכיל את הסכום הכולל שלהם__lt: השוואת ארנקים קובעת באיזה מהם יש פחות כסף
main.lua: טען את מודול Wallet שלך, צור מופעי ארנק והדגם את שתי הפעולות יחד.
תקבל שלוש קלטים:
- הסכום בארנק הראשון
- הסכום בארנק השני
- הסכום בארנק השלישי
בקובץ הראשי שלך, צור שלושה ארנקים עם הסכומים הנתונים. לאחר מכן:
- חבר את הארנקים הראשון והשני כדי ליצור ארנק משולב
- הדפס את הסכום בארנק המשולב
- השווה את הארנק המשולב לארנק השלישי באמצעות
<והדפס את התוצאה (trueאוfalse) - השווה את הארנק המשולב לארנק השלישי באמצעות
>והדפס את התוצאה (trueאוfalse)
לדוגמה, אם הקלטים הם 50, 30 ו-100, הפלט אמור להיות:
80
true
falseהארנק הראשון (50) ועוד הארנק השני (30) יוצרים ארנק משולב עם 80. מכיוון ש-80 קטן מ-100, ההשוואה הראשונה היא true. מכיוון ש-80 אינו גדול מ-100, ההשוואה השנייה היא false.
נסו בעצמכם
local Wallet = require('Wallet')
-- קרא את הקלט
local amount1 = tonumber(io.read())
local amount2 = tonumber(io.read())
local amount3 = tonumber(io.read())
-- TODO: צור שלושה ארנקים עם הסכומים הנתונים
-- TODO: חבר את הארנק הראשון והשני כדי ליצור ארנק משולב
-- TODO: הדפס את הסכום שבארנק המשולב
-- TODO: השווה בין הארנק המשולב לארנק השלישי באמצעות < והדפס את התוצאה
-- TODO: השווה בין הארנק המשולב לארנק השלישי באמצעות > והדפס את התוצאה
כל השיעורים ביחידה תכנות מונחה עצמים
4פרויקט: בנק דיגיטלי
הגדרת הפרויקטפעולת הפקדה7פולימורפיזם ודריסת מתודות
דריסת מתודותקריאה למתודות של מחלקת האבטיפוסיות ברווזממשק משותףבדיקת טיפוססיכום – תפקידי עובדים2תבנית אב־טיפוס למחלקה
מושג אב־הטיפוסקישור באמצעות __indexהבנאי :new()אתחול מאפייניםמופעים עצמאייםסיכום – מפעל מכוניות5העמסת אופרטורים בתכנות מונחה עצמים
חיבור אובייקטיםחיסור אובייקטיםשרשור אובייקטיםהשוואת אובייקטים (<, >)חזרה – חישובים עם ארנק8כימוס
כללי מתן שמותClosures לשמירה על פרטיותגישה באמצעות Closuresטבלאות לקריאה בלבדלוגיקת אימותסיכום – כספת מאובטחת11תבניות עיצוב (בקצרה)
פונקציות Factoryטבלת Singletonתבנית IteratorObserver (מאזין)סיכום – מפעל Logger3מצב והתנהגות של אובייקטים
משתני מופעמתודות Getterמתודות Setterמאפיינים מחושביםעיצוב מחרוזותבדיקות שוויוןסיכום – ציון תלמיד6יסודות הירושה
הכנת מבנה הירושהירושת מתודותהרחבת הבנאיהוספת מתודות למחלקת הבתמשותף לעומת ייחודיסיכום – היררכיית צורותתרגלו בעצמכם: קומפיילר Lua אונליין