ה־Trait לציור
חלק מהיחידה תכנות מונחה עצמים במסלול ה-Rust של Coddy. שיעור 49 מתוך 61.
אתגר
קלנתחיל לבנות מערכת מסמכים! בפרויקט הזה תיצור מסגרת גמישה לרינדור רכיבי ממשק משתמש באמצעות אובייקטי trait. הבסיס מתחיל בהגדרת trait בשם Draw בקובץ מודול משלו.
תיצור שני קבצים כדי לארגן את הקוד שלך:
draw.rs: הגדר trait ציבורי בשםDrawעם מתודה יחידה בשםdrawשמקבלת&selfומדפיסה פלט. ה-trait הזה ישמש כחוזה שכל רכיבי ממשק המשתמש חייבים למלא.main.rs: טען את המודולdrawוצור מבנה פשוט בשםLabelעם שדה ציבורי בשםtext(מסוגString). ממש את ה-traitDrawעבור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() של התווית
}
כל השיעורים ביחידה תכנות מונחה עצמים
1מתודות והתנהגות
מבוא לבלוקי מימושהפרמטר selfמתודות ניתנות לשינויפונקציות משויכותבלוקי מימוש מרוביםשרשור מתודותסיכום – פעולות מלבן4פרויקט: חיית מחמד וירטואלית
הגדרת חיית המחמדהאכלת חיית המחמדתרגלו בעצמכם: קומפיילר Rust אונליין