סיכום – נקודה נעה
חלק מהיחידה תכנות מונחה עצמים במסלול ה-Lua של Coddy. שיעור 5 מתוך 70.
אתגר
קלצרו טבלה בשם point עם שני שדות:
x- קואורדינטת ה-xy- קואורדינטת ה-y
הוסיפו מתודה :move(dx, dy) באמצעות תחביר הנקודתיים, שמוסיפה את dx ל-self.x ואת dy ל-self.y.
תקבלו ארבעה קלטים:
- קואורדינטת x התחלתית
- קואורדינטת y התחלתית
- הפרש x (המרחק לתנועה אופקית)
- הפרש y (המרחק לתנועה אנכית)
לאחר יצירת הנקודה עם הקואורדינטות ההתחלתיות וקריאה ל-:move() עם ערכי ההפרש, הדפיסו את המיקום הסופי בפורמט המדויק הזה:
[x], [y]לדוגמה, אם המיקום ההתחלתי הוא (3, 5) ומזיזים אותו ב-(2, -1), הפלט צריך להיות:
5, 4נסו בעצמכם
-- קראו את הקלטים
local initial_x = tonumber(io.read())
local initial_y = tonumber(io.read())
local dx = tonumber(io.read())
local dy = tonumber(io.read())
-- TODO: כתבו את הקוד שלכם למטה
-- 1. צרו טבלה בשם 'point' עם השדות x ו-y (באמצעות הקואורדינטות ההתחלתיות)
-- 2. הוסיפו מתודה :move(dx, dy) באמצעות תחביר הנקודתיים, שמשנה את self.x ואת self.y
-- קראו למתודה move והדפיסו את התוצאה
point:move(dx, dy)
print(point.x .. ", " .. point.y)כל השיעורים ביחידה תכנות מונחה עצמים
4פרויקט: בנק דיגיטלי
הגדרת הפרויקטפעולת הפקדה7פולימורפיזם ודריסת מתודות
דריסת מתודותקריאה למתודות של מחלקת האבטיפוסיות ברווזממשק משותףבדיקת טיפוססיכום – תפקידי עובדים2תבנית אב־טיפוס למחלקה
מושג אב־הטיפוסקישור באמצעות __indexהבנאי :new()אתחול מאפייניםמופעים עצמאייםסיכום – מפעל מכוניות5העמסת אופרטורים בתכנות מונחה עצמים
חיבור אובייקטיםחיסור אובייקטיםשרשור אובייקטיםהשוואת אובייקטים (<, >)חזרה – חישובים עם ארנק8כימוס
כללי מתן שמותClosures לשמירה על פרטיותגישה באמצעות Closuresטבלאות לקריאה בלבדלוגיקת אימותסיכום – כספת מאובטחת11תבניות עיצוב (בקצרה)
פונקציות Factoryטבלת Singletonתבנית IteratorObserver (מאזין)סיכום – מפעל Logger3מצב והתנהגות של אובייקטים
משתני מופעמתודות Getterמתודות Setterמאפיינים מחושביםעיצוב מחרוזותבדיקות שוויוןסיכום – ציון תלמיד6יסודות הירושה
הכנת מבנה הירושהירושת מתודותהרחבת הבנאיהוספת מתודות למחלקת הבתמשותף לעומת ייחודיסיכום – היררכיית צורותתרגלו בעצמכם: קומפיילר Lua אונליין