Menu
Coddy logo textTech

סיכום – מפעל מכוניות

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

challenge icon

אתגר

קל

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

תארגן את הקוד שלך בשני קבצים:

  • Car.lua: הגדר את המחלקה Car לפי תבנית האב־טיפוס המקובלת. המחלקה שלך זקוקה לבנאי :new(model, color) שיוצר מכוניות עם מאפיינים משלהן. כלול שיטה :describe() שמאפשרת לכל מכונית להציג את עצמה.
  • main.lua: טען את מודול Car וצור כמה מופעים של מכוניות כדי להדגים שכל מכונית שומרת על מצב עצמאי משלה.

השיטה :describe() שלך צריכה להדפיס בפורמט המדויק הזה:

A [color] [model]

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

  1. הדגם של המכונית הראשונה
  2. הצבע של המכונית הראשונה
  3. הדגם של המכונית השנייה
  4. הצבע של המכונית השנייה

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

לדוגמה, אם הקלטים הם 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() עבור כל מכונית כדי להדפיס את התיאורים שלהן

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

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