Menu
Coddy logo textTech

ה־Trait לציור

חלק מהיחידה תכנות מונחה עצמים במסלול ה-Rust של Coddy. שיעור 49 מתוך 61.

challenge icon

אתגר

קל

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

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

  • draw.rs: הגדר trait ציבורי בשם Draw עם מתודה יחידה בשם draw שמקבלת &self ומדפיסה פלט. ה-trait הזה ישמש כחוזה שכל רכיבי ממשק המשתמש חייבים למלא.
  • main.rs: טען את המודול draw וצור מבנה פשוט בשם Label עם שדה ציבורי בשם text (מסוג String). ממש את ה-trait Draw עבור Label, כך שקריאה ל-draw() תדפיס את הטקסט של התווית.

בפונקציה הראשית, צור מופע של Label וקרא למתודה draw() שלו כדי להציג את הטקסט.

הקלט הבא יסופק:

  • מחרוזת שמייצגת את הטקסט של התווית

הפלט שלך צריך להיות בדיוק הטקסט של התווית בשורה אחת.

נסו בעצמכם

mod draw;

use draw::Draw;

// TODO: הגדירו struct ציבורי בשם Label עם שדה text ציבורי (String)

// TODO: ממשו את ה-trait Draw עבור Label
// המתודה draw צריכה להדפיס את הטקסט של התווית

fn main() {
    let mut input = String::new();
    std::io::stdin().read_line(&mut input).expect("Failed to read line");
    let text = input.trim().to_string();

    // TODO: צרו מופע של Label עם טקסט הקלט
    // TODO: קראו למתודה draw() של התווית
}

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

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