סיכום – מפעל מכוניות
חלק מהיחידה תכנות מונחה עצמים במסלול ה-Lua של Coddy. שיעור 11 מתוך 70.
אתגר
קלבואו נבנה מחלקת Car שלמה שמאגדת את כל מה שלמדת בפרק הזה! תיצור מערכת לייצור מכוניות שבה לכל מכונית יש דגם וצבע משלה, וכך תדגים ארגון תקין של מודולים ומופעים עצמאיים.
תארגן את הקוד שלך בשני קבצים:
Car.lua: הגדר את המחלקהCarלפי תבנית האב־טיפוס המקובלת. המחלקה שלך זקוקה לבנאי:new(model, color)שיוצר מכוניות עם מאפיינים משלהן. כלול שיטה:describe()שמאפשרת לכל מכונית להציג את עצמה.main.lua: טען את מודול Car וצור כמה מופעים של מכוניות כדי להדגים שכל מכונית שומרת על מצב עצמאי משלה.
השיטה :describe() שלך צריכה להדפיס בפורמט המדויק הזה:
A [color] [model]תקבל ארבעה קלטים:
- הדגם של המכונית הראשונה
- הצבע של המכונית הראשונה
- הדגם של המכונית השנייה
- הצבע של המכונית השנייה
בקובץ הראשי, צור שתי מכוניות באמצעות הקלטים שסופקו, וגרום לכל אחת מהן להציג את עצמה בשורה נפרדת.
לדוגמה, אם הקלטים הם Sedan, blue, Truck ו־red, הפלט צריך להיות:
A blue Sedan
A red Truckכל מכונית צריכה לשמור את הדגם והצבע שלה, כדי להוכיח שהמחלקה שלך יוצרת מופעים עצמאיים באמת.
נסו בעצמכם
-- טען את המודול Car באמצעות require
local Car = require('Car')
-- קרא את הקלטים
local model1 = io.read()
local color1 = io.read()
local model2 = io.read()
local color2 = io.read()
-- TODO: צור שני מופעים של מכונית באמצעות Car:new()
-- TODO: קרא ל־:describe() עבור כל מכונית כדי להדפיס את התיאורים שלהן
כל השיעורים ביחידה תכנות מונחה עצמים
4פרויקט: בנק דיגיטלי
הגדרת הפרויקטפעולת הפקדה7פולימורפיזם ודריסת מתודות
דריסת מתודותקריאה למתודות של מחלקת האבטיפוסיות ברווזממשק משותףבדיקת טיפוססיכום – תפקידי עובדים2תבנית אב־טיפוס למחלקה
מושג אב־הטיפוסקישור באמצעות __indexהבנאי :new()אתחול מאפייניםמופעים עצמאייםסיכום – מפעל מכוניות5העמסת אופרטורים בתכנות מונחה עצמים
חיבור אובייקטיםחיסור אובייקטיםשרשור אובייקטיםהשוואת אובייקטים (<, >)חזרה – חישובים עם ארנק8כימוס
כללי מתן שמותClosures לשמירה על פרטיותגישה באמצעות Closuresטבלאות לקריאה בלבדלוגיקת אימותסיכום – כספת מאובטחת11תבניות עיצוב (בקצרה)
פונקציות Factoryטבלת Singletonתבנית IteratorObserver (מאזין)סיכום – מפעל Logger3מצב והתנהגות של אובייקטים
משתני מופעמתודות Getterמתודות Setterמאפיינים מחושביםעיצוב מחרוזותבדיקות שוויוןסיכום – ציון תלמיד6יסודות הירושה
הכנת מבנה הירושהירושת מתודותהרחבת הבנאיהוספת מתודות למחלקת הבתמשותף לעומת ייחודיסיכום – היררכיית צורותתרגלו בעצמכם: קומפיילר Lua אונליין