Menu
Coddy logo textTech

מחלקת מלבן

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

challenge icon

אתגר

קל

עכשיו נרחיב את מנהל הצורות שלנו באמצעות יצירת מחלקת Rectangle שיורשת ממחלקת הבסיס Shape שבנית בשיעור הקודם.

תעבוד עם שלושה קבצים כדי לשמור על קוד מאורגן:

  • Shape.lua: מחלקת הבסיס Shape שלך מהאתגר הקודם (עם :new(name) ועם :getName()).
  • Rectangle.lua: צור מחלקת Rectangle שיורשת מ-Shape. הבנאי צריך לקבל את width ואת height, לקרוא לבנאי של מחלקת האב עם השם "Rectangle", ולאחסן את המידות. הוסף מתודה :getArea() שמחשבת ומחזירה את שטח המלבן.
  • main.lua: טען את המודול Rectangle שלך, קרא את width ואת height מהקלט, צור מופע של Rectangle, והדפס את שמו ואחריו את שטחו בשורות נפרדות.

זכור להגדיר כראוי את קישור הירושה כדי שמופעים של Rectangle יוכלו לגשת למתודות של Shape דרך שרשרת האב־טיפוס.

קלט: שתי שורות: הראשונה מכילה את הרוחב (מספר), השנייה מכילה את הגובה (מספר).

פלט: שתי שורות: שם המלבן מתוך :getName(), ואז שטחו מתוך :getArea().

נסו בעצמכם

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

-- קרא את הרוחב והגובה מהקלט
local width = tonumber(io.read())
local height = tonumber(io.read())

-- צור מופע חדש של Rectangle עם הממדים הנתונים
local rect = Rectangle:new(width, height)

-- הדפס את שם המלבן ואת שטחו
print(rect:getName())
print(rect:getArea())

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

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